RHEL Apacheサーバーの1つで奇妙な問題に直面しています。
実際には、リモートホストからポート80でリッスンしていません。ローカルでhttp://localhost
を参照すると、デフォルトのページが開いています。 netstat
を使用してリスニングポートを確認したところ、tcp6
インターフェースのみが:::80
でリスニングしていることがわかりました。そして、tcp
のエントリはなく、そのエントリは
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
私はこの問題について多くのフォーラムを検索してみましたが、提案された解決策はどれも機能しませんでした。 httpd.conf
では、Listen 80
をListen 0.0.0.0:80
およびListen 127.0.0.0:80
に変更しましたが、リモートホストからアクセスするために80ポートを開けませんでした。 IPtablesは最初から無効になっています。
IPv4でリッスンするようにサーバーを設定するにはどうすればよいですか?
assiduus@localhost:~/httpd-2.4.34$ ./configure --help | grep IPv6
--enable-v4-mapped Allow IPv6 sockets to handle IPv4 connections
assiduus@localhost:~/httpd-2.4.34$
これは、ソースからApache httpdをコンパイルするときにデフォルトで有効になります。配布バイナリパッケージを使用した場合、このオプションは有効になっているようです。
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias domain.com
DocumentRoot /path/to/your/webroot/
...
</VirtualHost>
":80"を使用すると、Webサーバーはポート80ですべてのIPアドレスをリッスンできます;ただし、これは有効になりませんこの新しく作成された仮想ホスト構成ファイルが有効になり、Webサーバーが再起動されるまで。
a2ensite domain.com.conf
service Apache2 restart
netstat -plunt |grep ":80"
これが役立つかどうか教えてください:)