開発マシンを他の開発者に公開しました。セキュリティを強化するために、ローカルの Apache 2.4 Web サーバーへのポート転送を有効にしようとしています。しかし、ポート 80 以外では接続できません。次のようなさまざまな指示に従いました。例えば
そこで、ルーターのローカル ポートを 5070 (80 以外であれば何でも可) に設定し、ブラウザから入ってくる TCP の「ポート範囲」を 80 に設定しました。次に、上記のファイルの ports.conf (Listen 5070) ファイルと mysite.conf ( <VirtualHost *:5070>
) の両方を 5070 に変更します。ホスト ファイルでは、ローカル ホストが 127.0.0.1 のままです。
Apache を再起動しましたが、アプリに接続できません。すべてをポート 80 に戻すと、動作します。ファイアウォールがオフかオンかは関係があるようです。
本当に奇妙なのは、 を実行するとnetstat -tulpn
次のようになることです。tcp6 0 0 :::5079 :::* LISTEN 1702/apache2
私はtcp6を規定したことはありません。
何が足りないのか分かりますか?
どうもありがとう !
答え1
少し誤解があると思います。ポート 80 を Apache ポート 5070 に転送すると、ポート 80 は引き続き公開されてしまいます。これは避けたいことです。これを逆転させて、ルーターでポート 5070 を開く必要があります。Apache は直接公開されていないため、そのポートを Apache のポート 80 に転送できます。
したがって、ルーターのポート範囲にポート 5070 を設定します。Apache はポート 80 のままにして、80 をローカル ポートとしてルーターに設定します。友人はhttp://your-ip-or-dyndns:5070
ブラウザーに入力して接続します。
以前と同じように Apache にアクセスできますhttp://localhost
。
誰かがポート 5070 を開いて Apache にアクセスできないようにしたい場合は、認証を前に置くことをお勧めします。