
今回はApacheの設定をしてwebページにアクセス制限をかける方法について紹介していきます。
結構簡単なのでぜひ試してみてください。
ちなみに自分の作ったHTMLファイルを表示させるドキュメントルートについてはこちらの記事で紹介しております。
こちらはApacheの基本操作である「起動」「停止」「状態確認」についての記事となっております。
それでは説明していきます。
説明
まずはwebページにログインしてApacheを起動させちゃんと起動できたか状態を確認してみましょう。
# systemctl start httpd
# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2020-12-16 12:37:24 UTC; 4s ago
Docs: man:httpd(8)
man:apachectl(8)
ちゃんと起動されていますね!
では実際にwebページにアクセスしましょう。

では、実際に表示させたwebページにアクセス制限をかけていきます。色々と方法はありますが今回はhttpd.confに設定を追加していきます。
Webサーバーでrootユーザーにスイッチして以下のコマンドでhttpd.confを編集していきましょう。
vi /etc/httpd/conf/httpd.conf
httpd.confが開けたら以下の設定を追加してください。
<Directory "/var/www/html">
Deny from all
</Directory>
この設定は全てのアクセスを拒否する設定なのでアクセスするとこんな画面になります。

ただこれでは自分もwebページにアクセスできないので特定のIPだけ通して他のIPははじく設定にしてみましょう。
<Directory "/var/www/html">
Order Allow,Deny
Allow from アクセスさせるIP
</Directory>
この設定は「基本アクセスは拒否するけど許可された特定のIPだけ通れるよ」という設定です。
「Order Allow,Deny」と記載のある部分で拒否優先「Allow from」でしていされたIPがあれば通すといった感じです。
ちなみにこっちだとアクセスを通すこと優先で拒否するIPが指定されていたら拒否するといった設定になります。
<Directory "/var/www/html">
Order Deny,Allow
Deny from 拒否するIP
</Directory>
「Order Deny,Allow」の部分で許可優先「Deny from」で指定されたIPを拒否するといった感じです。
他にも色々とアクセス制御する方法があるので調べてみてください!