Попытка настроить виртуальные хосты для блокирования доступа IP, для трех доменов и при использовании SSL на одном домене

Попытайтесь работать

START /WAIT Install.exe
0
задан 17 October 2013 в 01:38
2 ответа

Поскольку запрошенный домен находится в заголовках http (и, таким образом, все еще зашифрован, когда apache должен решить, какую конфигурацию vhost использовать), apache использует IP и порт, чтобы выбрать, какую конфигурацию vhost SSL использовать, не имя домена.

Изменить:

Я должен был упомянуть SNI и пару других факторов в своем ответе. SNI - это дополнение к TLS, которое позволяет серверам использовать несколько именованных конфигураций виртуальных хостов для одной комбинации IP / порта. Но поскольку у вас есть только один блок конфигурации *: 443 VirtualHost, apache всегда будет его выбирать.

То, что вы хотите сделать, возможно, и самый простой способ - активировать default-ssl в качестве перехвата для запросов, не нацеленных на конкретный домен. Я не совсем понимаю, что вы подразумеваете под ошибкой «дубликат по умолчанию» при активации default-ssl, полное сообщение об ошибке может быть более полезным.

2
ответ дан 4 December 2019 в 11:29

A possible alternative, rather than blocking access, what if you forwarded any requests that come to the ip address over to your hostname? This could be done with htaccess or mod_rewrite.

RewriteEngine On  
RewriteCond %{HTTP_HOST} ^123\.55\.33\.123  
RewriteRule (.*) http://domain-one.com/$1 [R=301,L]  

I believe because the way SSL works (ip address-dependent) that you won't be able to block requests at the apache level. If you're working w PHP or such, you could have an include file that checks the $_SERVER['HTTP_HOST'] and dies if it's your ip address.

3
ответ дан 4 December 2019 в 11:29

Теги

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