私のhttpd.conf
場合は、ポート 80 でリッスンしているようです。マシンの IP を IP に変更する必要があると思いますが、確信が持てず、躊躇しています。
#Listen 12.34.56.78:80
Listen 80
しかし、私の仮想ホスティングではポート 443 が表示されています。これを変更するにはどうすればよいですか? これが問題の根本でしょうか?
アップデート
'仮想ホストデフォルト:443' = /etc/httpd/conf.d/ssl.conf
これは、Virtual Hosting が正しいことを示しています。このシナリオから 443 に関連するすべての情報を排除すれば、答えにたどり着けると思います。
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443
/etc/httpd/conf.d/ssl.conf.rpmnew:Listen 443 https
/etc/httpd/conf.d/ssl.conf.rpmnew:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf.rpmnew:#ServerName www.example.com:443
それは
Job for httpd.service failed because the control process exited with error code.
See "systemctl status httpd.service" and "journalctl -xe" for details.
私は学ぼうとしている同様のスレッド私は Fedora を使用しているので、理解するのが少し異なります。
systemctl status httpd.service
言う:
httpd[1182]: AH00526: Syntax error on line 18 of /etc/httpd/conf.d/ssl.conf:
18行目は | 80を聴く
httpd[1182]: Cannot define multiple Listeners on the same IP:port
systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: httpd.service: Failed with result 'exit-code'.
systemd[1]: Failed to start The Apache HTTP Server.
/etc/httpd/conf.d.ssl.conf の 18 行目 |Listen 80
ここで混乱します。ファイルは 443 としてgrep '443' /etc/httpd/conf.d/*
表示されますssl.conf
が、ファイルを読むと、httpd.conf
ここに予防的な IP があることがわかります12.34.56.78:80
。したがって、ここにマシンの IP を追加し、80 と 443 でリッスンする必要があります。
答え1
Listen
このエラーは、Apache 構成ファイル内に同じ IP/ポート 80 の組み合わせを指定する複数のディレクティブがある可能性があることを示しているようです。
Listen
(一般的なルールとして) は、 に 1 回だけhttpd.conf
(例: としてListen 80
)、デフォルトの SSL 構成に 1 回だけ (例: としてListen 443
) 出現する必要があります。
Listen
同じポート (例: 80) に複数のディレクティブを設定することは可能ですが、それらはすべて異なる IP:ポートの組み合わせを持つ必要があります。
したがって、ここにマシンの IP を追加し、
Listen
80 と 443 にも追加する必要があります。
アパッチ聞くディレクティブには、「IP ごと」と「グローバル」(利用可能なすべての IP) の 2 つの一般的な形式があります。
# Per IP
# Listen 12.34.56.78:80
# Global (i.e includes ex. 12.34.56.78)
Listen 80
上記の構成は機能します。次のような構成も通常は同様に機能します (システムに複数の IP があることを前提としています)。
# Per IP
Listen 12.34.56.78:80
Listen 23.56.78.90:80
# Global (i.e includes ex. 12.34.56.78)
# Listen 80
これはおそらく機能しません (つまり、Apache は起動に失敗します)。
# Per IP
Listen 12.34.56.78:80
# Global (i.e includes ex. 12.34.56.78)
Listen 80