Показать статистику
0 голосов
от (2.2тыс. баллов)

Есть веб сайт под управлением NGINX. Мне нужно что бы он был доступен только по HTTPS. Я начал модифицировать конфиг и получилось так:

server {
    listen      80;

    location / {
      rewrite     ^(.*)   https://mysite.com$1 permanent;
    }
...

Все вроде бы работает, но вылезла одна проблема.  Если обращаться у под-домену, то ничего вообще не работает. Пример: https://subdomain.mydomain.com/start.

Как мне сделать так, что бы все запросы HTTP перекидывались на HTTPS, но что бы при этом работали под-домены?

243 просмотров 1 ответов

1 Ответ

0 голосов
от (8.9тыс. баллов)

Вот пример конфига, который работает у меня. Весь незащищенный трафик перенаправляется с порта 80 (HTTP) на порт 443 (HTTPS):

server {
       listen         80;
       server_name    my.domain.com;
       return         301 https://$server_name$request_uri;
}

server {
       listen         443 ssl;
       server_name    my.domain.com;
       # Всегда используйте Strict-Transport-Security что бы предотвратить перехват трафика третьей стороной на транзитном роутере
       add_header Strict-Transport-Security "max-age=31536000" always; 

       [....]
}
...