У меня есть стандартный amazon ami (созданный amazon), на котором установлен apache. Нам нужно было обновить сертификат ssl, что я и сделал, выполнив эти шаги
. Я делал это раньше, поэтому думаю, что не сделал ничего плохого. Шаги в основном включали:
1) openssl req -new -newkey rsa: 2048 -nodes -keyout yourdomain.key -out yourdomain.csr
2) Обновление файла /etc/httpd/conf.d/ssl.conf.
3) Перезапуск службы httpd
Но после перезапуска httpd, т.е. sudo service httpd restart. Служба остановилась нормально, но не запустилась снова. Вот ошибка, которую я получаю.
[ec2-user@******* conf.d]$ service httpd restart
Stopping httpd: [FAILED]
Starting httpd: [Tue Dec 06 20:38:28 2016] [warn] module ssl_module is already loaded, skipping
[Tue Dec 06 20:38:28 2016] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Это действительно важно, поэтому буду очень признателен, если кто-нибудь сможет меня здесь. Спасибо
Обновление: Хорошо, мне удалось удалить уже загруженное сообщение mod_ssl. может кто-нибудь понять это?
[ec2-user@****** ~]$ sudo service httpd start
Starting httpd: [Tue Dec 06 21:33:52 2016] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
(98)Address already in use: make_sock: could not bind to address [::]:443
[FAILED]
Похоже, вы запускаете команду перезапуска как непривилегированный пользователь, что видно из-за сбоя httpd stop . Вы должны запустить команду перезапуска с соответствующей учетной записью.
Обновление:
Запуск httpd: [Вт, 06 декабря, 21:33:52 2016] [предупреждение] по умолчанию VirtualHost перекрывается на порте 443, первый имеет приоритет (98) Адрес уже используется: make_sock: не удалось привязать к адресу [::]: 443
Что-то все еще привязано / прослушивает порт 443. Похоже, вам не удалось остановить предыдущий вызов httpd.
Я понял свою проблему. Если кто-нибудь сталкивался с этой проблемой, из-за сертификата ssl вам необходимо проверить следующее:
1) Сначала убедитесь, что существует не более 1 файла конфигурации для httpd. (В моем случае я сделал резервную копию файла etc / httpd / conf / ssl.conf и назвал его ssl_bkup.conf. Я думал, что это не будет использоваться в качестве конфигурации, но это так. Я должен был использовать ssl.conf_backup). Вы можете проверить, используется ли этой командой более 1 файла конфигурации.
grep -ir 443 /etc/httpd/conf*
2) Затем проверьте свои журналы до
sudo nano var/log/httpd/error_log
sudo nano var/log/httpd/ssl_log
sudo nano var/log/httpd/nss_log (nss is simlar to ssl)
3) Основная проблема в моем случае возникла, когда я копировал файлы csr со своего компьютера на сервер. Файлы, предоставленные полномочиями ssl, должны были быть перемещены на мой сервер, поэтому вместо ftp я создавал новый файл и копировал содержимое файла csr в новый файл, созданный на сервере. При этом я испортил формат, в котором файлы должны были быть скопированы.
Поскольку мой доступ по ftp был очень ограничен, я загрузил файлы на сервер, а затем загрузил их на свой сервер через wget. :)