У меня 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.
строка 18 файла /etc/httpd/conf.d.ssl.conf |Listen 80
Вот тут я и запутался, потому что grep '443' /etc/httpd/conf.d/*
показывает мой ssl.conf
файл как 443, но когда я читаю httpd.conf
файл, я вижу здесь 12.34.56.78:80
превентивный IP. Поэтому мне следует добавить сюда IP моей машины и прослушивать 80 и 443.
решение1
Ошибка, по-видимому, указывает на то, что Listen
в вашем файле(ах) конфигурации Apache может быть несколько директив, указывающих одну и ту же комбинацию IP/порта 80.
Listen
(как правило) должен встречаться только один раз в httpd.conf
(например, как Listen 80
) и один раз в вашей конфигурации SSL по умолчанию (например, как Listen 443
).
И хотя для одного и того же порта (например, 80) возможно наличие нескольких Listen
директив, все они должны иметь разные комбинации IP:порт.
Поэтому мне следует добавить IP-адрес моей машины здесь, а также
Listen
на 80 и 443.
АпачиСлушатьДирективы могут иметь две общие формы: «для каждого IP-адреса» и «глобальные» (все доступные IP-адреса):
# 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