Я пытаюсь настроить свой первый https, и я думаю, что получаю его, но есть проблема: сайт не открывается в http, только https, из-за этого я хочу перенаправить все в https.

Я использую iptables, и это мои правила:

Это мой сайт: https://pubcrawlsp.com

Может ли кто-нибудь дать мне свет здесь?

Я уже пытаюсь использовать:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 443
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 443 

Я использую экземпляр EC2 из веб-сервисов Amazon. [Ubuntu]

2 ответа2

4

Вам не нужно использовать брандмауэр для этого, используйте Apache для перенаправления

<VirtualHost *:80> ServerName www.example.com
Redirect / https://www.example.com/
</VirtualHost > 
<VirtualHost *:443> ServerName www.example.com

# ... SSL configuration goes here
</VirtualHost >
0

Пользователи могут не ожидать, что порт 80 будет выполнять HTTPS, поэтому перенаправление HTTP с использованием Apache или node.js по крайней мере будет более традиционным.

В ответ на ваш прямой вопрос о переадресации iptables вместо REDIRECT вы можете увидеть, что произойдет, если вы попытаетесь

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 54.207.73.169:443 

(или любой другой IP-адрес, который вы хотите использовать. Localhost должен быть в порядке, если сервер связан с ним.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .