
ローカル ネットワーク上に Linux サーバーがあり、いくつかのサービスが稼働しています。ドメイン名を使用して暗号化してそのサーバーにアクセスできるようにしたいのですが、LAN アクセスは自由に残しておきたいです。検索してみましたが、何も見つかりません。VirtualHost
サーバーの内部 IP を使用して別のサーバーを作成すると、外部ネットワークが暗号化なしで接続できるようになりました。
ちなみに、同じ理由でディレクトリへのアクセスを拒否することは可能ですか?
編集: すべてを暗号化して、IPでアクセスできるようにすることは気にしないほうがいいと思います
答え1
解決しました。ルーターのポート 80 を転送せず、サーバーで http から https へのリダイレクトを無効にしただけです。
答え2
Apache のアクセス制御コマンドを使用できますmod_authz_core
。これはコア モジュールであり、特別なものをインストールしたり有効にしたりする必要はありません。
チュートリアルはこちらをご覧ください:Apache 2.4 のドキュメント
<VirtualHost>
これを使用するには、 の セクションの下に設定します<Directory>
。この手順は で設定する必要があるため、他の場所で構成されたデフォルトのディレクトリ処理を使用する予定の場合でも、に セクション<Directory>
が必要です。<Directory>
<VirtualHost>
<VirtualHost *:80>
DocumentRoot "/some/docroot"
ServerName my.domain.com
<Directory "/some/docroot">
<RequireAll>
Require ip 192.168.1.0/24
</RequireAll>
</Directory>
</VirtualHost>
これにより、LAN 外部からのポート 80 へのすべての呼び出し (ここでは 192.168.1.0/24 として表されますが、実際の LAN アドレスに応じて変更されます) に対して応答が受信されるようになります403 Forbidden
。