HSTS на поддомене ТОЛЬКО на nginx - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу разрешить HSTS ТОЛЬКО для SUBDOMAIN (test.example.com) на nginx, а НЕ ДЛЯ DOMAIN, потому что у меня просто нет хоста, связывающего мой исходный домен в моем приложении (example.com), это означает, что ятолько dubdomains в моей конфигурации nginx.

Я попытался добавить заголовок в каталог, как предполагалось:

server {
    listen 80;
    listen [::]:80;
    server_name test.example.com;
    add_header Strict-Transport-Security max-age=31536000;
....
....
}

, но это не сработало.

Что делать вэтот случай?Разрешено ли мне включать HSTS в случае, если я не использую прямой доступ к своему приложению в домене?Или я что-то упустил?

nginx версия: nginx / 1.10.3 (Ubuntu)

1 Ответ

0 голосов
/ 27 декабря 2018

Примерно так будет работать:

http {
  index index.html;

  server {
    listen 80;
    listen [::]:80;
    server_name example.com test.example.com;
  }

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.com;
  }

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name test.example.com;
    add_header Strict-Transport-Security max-age=31536000;
  }
}

Поскольку заголовок HSTS дается только в третьем блоке сервера, он будет отправлен только при совпадении этого имени_сервера.Он не будет отправлен ни для 1-го (порт 80) серверного блока, ни для второго домена (порт 443) домена верхнего уровня.

Однако это все равно не отвечает, почему он по-прежнему показывает max-age = 0 с вашимтекущий конфиг.Это говорит о том, что что-то другое все еще устанавливает это, и это может все еще происходить даже с вышеупомянутым config и переопределить любой из этих параметров.Вам нужно выяснить, что именно настраивает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...