У меня есть CentOS 6 VPS с 5 сайтами и Let's Encrypt установлен и работает на всех сайтах. Когда я получаю доступ https: // vps-ip, он всегда указывает на первый сайт, настроенный в vhosts-ssl-letsencrypt.conf (я изменил конфигурацию и поместил другой сайт в начало конфигурации, чтобы проверить его). Я пытался добавить:
<VirtualHost ip:443>
ServerName ip
Redirect 403 /
ErrorDocument 403 "No"
DocumentRoot /usr/local/apache/htdocs
UseCanonicalName Off
UserDir disabled
</VirtualHost>
но сайты недоступны через ssl
or <VirtualHost *:443>...
дает мне эту ошибку: [error] Сервер должен поддерживать SSL, но не имеет настроенного сертификата [Подсказка: SSLCertificateFile] ((null): 0)
<VirtualHost *>...
без изменений
http: // vps-ip указывает на правую страницу приветствия vps. Любые идеи?
Простой ответ: вы не включили SSL для своего *:443
vhost в вопросе выше. Apache не начинает внезапно использовать SSL для виртуального хоста только потому, что вы помещаете его на порт 443, это требует настройки.
Также эта директива не делает ничего разумного:
Redirect 403 /
И вы не должны использовать
<VirtualHost *>
Это вызовет всевозможные проблемы. Использовать IP:port
или *:port
и ничего больше. Также не смешивайте эти два типа аргументов, если вы точно не знаете, что делаете.
РЕДАКТИРОВАТЬ: В ответ на первый комментарий: Добавить default
Виртуальный хост SSL. Он должен быть первым в списке для порта 443 в выводе apachectl -S
и добавьте IP-адрес в качестве ServerName
или ServerAlias
EDIT2: в ответ на дальнейшие комментарии. Кажется, у вас не включен SSL. Для включения SSL на вашем виртуальном хосте необходимы как минимум три директивы SSL, они подробно описаны здесь: http://httpd.apache.org/docs/current/ssl/ssl_howto.html