Ограничить прямой IP-доступ к сайту - SSL

У меня есть CentOS 6 VPS с 5 сайтами и установленным Let's Encrypt и работает на всех сайтах. Когда я получаю доступ к https: // vps-ip , он всегда указывает на первый сайт, настроенный в vhosts-ssl-letsencrypt.conf (I ' Я попытался добавить:

<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. Есть идеи?

1
задан 11 October 2016 в 15:04
1 ответ

Простой ответ: вы не включили SSL для своего виртуального хоста *: 443 в приведенном выше вопросе. Apache не начинает внезапно использовать SSL для виртуального хоста только потому, что вы подключили его к порту 443.

Кроме того, эта директива не делает ничего разумного:

 Redirect 403 /

И вы не должны использовать

<VirtualHost *>

Это вызовет всевозможные проблемы. Используйте IP: порт или *: порт и ничего больше. Также не смешивайте эти два типа аргументов, если вы точно не знаете, что делаете.

РЕДАКТИРОВАТЬ: В ответ на первый комментарий: Добавьте виртуальный хост SSL по умолчанию . Он должен быть первым в списке для порта 443 в выходных данных apachectl -S и добавить IP-адрес в качестве ServerName или ServerAlias ​​

EDIT2: в ответ к дальнейшим комментариям. Похоже, вы не включили SSL. На вашем виртуальном хосте есть минимум три директивы SSL, необходимые для включения SSL, они подробно описаны здесь: http://httpd.apache.org/docs/current/ssl/ssl_howto.html

1
ответ дан 3 December 2019 в 23:40

Теги

Похожие вопросы