Нужно ли принудительно устанавливать SSL на соединении EC2 с производственным сервером? - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть домен через GoDaddy, и я использую CloudFlare в качестве DNS, хотя у меня есть сертификат SSL. Мой хостинг на AWS.

Когда я захожу на веб-сайт через мое доменное имя, применяется SSL, а если я получаю доступ через http, он перенаправляется на https - что я и хочу.

Однако, когда я обращаюсь к нему через домен EC2, SSL не применяется, по-видимому, потому что он не включен в сертификат облачной вспышки.

У меня вопрос: есть ли опасность, что домен EC2 не будет храниться на производственном сайте для SSL? Я попытался отследить происхождение моего домена, и он возвращается только к CloudFlare, который использует SSL, поэтому я предполагаю, что невозможно отследить сайт до домена EC2?

1 Ответ

0 голосов
/ 09 сентября 2018

Чтобы пользователи не могли обойти Cloudflare и перейти непосредственно на ваш сайт, вам необходимо перенаправить их обратно через ваше доменное имя, зарегистрированное в Cloudflare. Это будет иметь побочный эффект от применения HTTPS.

Я предполагаю:

  • Cloudflare прекращает работу SSL, а ваш веб-сервер работает только по протоколу HTTP.

Предполагая, что ваш веб-сервер Apache, есть несколько способов.

Использовать перенаправления Server Alias. Измените вашу запись VirtualHost следующим образом:

<VirtualHost *:80> 
    ServerAlias ec2-public-ipv4-address.compute-1.amazonaws.com
    redirect permanent / https://www.yoursite.com
</VirtualHost>

ИЛИ измените .htaccess в корне вашего веб-сервера.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^ec2-public-ipv4-address.compute-1.amazonaws.com$
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R=301,L]

Измените указанное выше DNS-имя на действительное общедоступное DNS-имя EC2.

Вы захотите сделать то же самое, если они зашли на ваш сайт, используя публичный IP-адрес.

Добавить это правило к .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301]

Замените цифры выше вашим публичным IP-адресом. Оставьте точки . в IP-адресе без обратной косой черты, как \.

...