Могу ли я установить 443 в качестве веб-порта по умолчанию, что означает, что к нему можно получить доступ только через https и без порта 80

Как видно из названия,

Я хочу настроить мой Apache для прослушивания на 443, и настрою SSL.

Итак, мой вопрос:

1). Означает ли это, я не буду иметь порт 80 или любой другой порт, который не является SSL? 2). Мой сайт может быть доступен только через https и без http? Спасибо

3 ответа

Решение

Я бы посоветовал не делать это с помощью перенаправления iptables. Причина в том, что когда кто-то просматривает ваш сайт по HTTP, его браузер не ожидает рукопожатия сеанса SSL. Это может сработать, но это точно не гарантировано.

Вместо этого у меня был бы отдельный экземпляр Apache (или VirtualHost), который прослушивает порт 80. Этот экземпляр Apache/VH должен быть настроен на выдачу только перенаправления на сайт с поддержкой SSL, например:

RedirectMatch /(.*) https://www.example.com/$1

Таким образом, браузер поймет, что он отправляется на сайт SSL, и с согласованием SSL проблем не возникнет.

Если вы настроите apache без конфигурации прослушивания на порту 80 и убедитесь, что вы настроили его на прослушивание порта 443 с помощью ssl, то да, ваш сервер не будет прослушивать никакие порты, отличные от ssl.

Вы не можете перенаправить HTTP-запросы в HTTPS без инициализации SSL-соединения. Итак, iptables вам не поможет. Вы должны сделать это с вашим веб-сервером.

Другие вопросы по тегам