Как сказано в названии,
Я хочу настроить свой apache для прослушивания 443 и настрою SSL.
Итак, мой вопрос: -
1). Означает ли это, что у меня не будет порта 80 или любого другого порта без ssl? 2). К моему сайту можно получить доступ только через https и без http? Спасибо
Я бы посоветовал не делать этого с помощью перенаправления 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 вам не поможет. Вам нужно сделать это на своем веб-сервере.