CNAME и редирект Nginx

12 3
D
На сайте с 28.06.2008
Offline
1101
2075

Есть партнерка лавпланет которая сущестует на поддомене love.site.ru через CNAME

Из-за ошибки в Хроме браузер пытается открыть этот поддомен по https

Можно ли на стороне Nginx принудительно редиректить поддомен на http ?

Попробовал так

server {
listen 443;
server_name love.site.ru;
rewrite ^(.*) http://love.site.ru$1 permanent;
}

Без эффекта... Можно ли как то решить проблемку?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
Dram:
Можно ли как то решить проблемку?

Strict-Transport-Security: max-age=0 ?

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
-
На сайте с 15.12.2010
Offline
133
#2

Dram, думаю надо настраивать bind на сервере.

SSL-соединение устанавливается до того, как браузер посылает HTTP-запрос, и nginx не знает имени запрашиваемого сервера.

Тут подробнее: http://nginx.org/ru/docs/http/configuring_https_servers.html#name_based_https_servers

D
На сайте с 28.06.2008
Offline
1101
#3
Оптимизайка:
Strict-Transport-Security: max-age=0 ?

У меня запись для домена всегда была

add_header Strict-Transport-Security "max-age=63072000";

т.е. вставки includeSubdomains; preload"; НЕТ

Но вероятно когда я подавал заявку на включение лист предзагрузки Хрома она была, и теперь во тут https://chromium.googlesource.com/chromium/src/net/+/master/http/transport_security_state_static.json

мой сайт прописан как

{ "name": "site.ru", "include_subdomains": true, "mode": "force-https" },

разве max-age=0 решит проблему?

---------- Добавлено 07.06.2017 в 22:28 ----------

-Dima-:
Dram, думаю надо настраивать bind на сервере.

Можно подробнее с чем это едят?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4
Dram:
разве max-age=0 решит проблему?

Да, т.к. оно принудит браузер выкинуть этот домен из своего hsts кэша.

Если вы подавали заявку на включение, можете теперь попробовать отозвать её https://hstspreload.org/#removal

А для чего вообще потребовалось перходить на HTTP обратно?

D
На сайте с 28.06.2008
Offline
1101
#5

max-age=0 попробовал - не помогло. Вероятно остается 2 варианта:

1. Делать сертификат для поддомена - увидит ли его браузер, если поддомен работает чере CNAME ?

2. Отзывать домен из списка, но это веротяно долгая песня

Оптимизайка
На сайте с 11.03.2012
Offline
396
#6
Dram:
max-age=0 попробовал - не помогло

Т.е. вы открывали через https://love.site.ru и отдавали этот заголовок, и не помогло (заголовок Strict-Transport-Security при подключении по нешифрованному HTTP игнорируется)? А как проверяли что не помогло? Делали потом запрос на http://love.site.ru и браузер все равно автоматом на https переключал?

Делать сертификат для поддомена

А что, для поддомена не было сертификата, или я что-то не понимаю?

увидит ли его браузер, если поддомен работает чере CNAME

Да.

D
На сайте с 28.06.2008
Offline
1101
#7

1. Партнерка всегда висела на http://love.site.ru

2. Я по своей тупости подал заявку https://hstspreload.org/ (пару месяцев назад) с директивой max-age=63072000; includeSubDomains; preload

Как только заявку приняли я убрал из конфига includeSubDomains; preload и счастливо забыл про эту фигню.

3. Сертификата для love.site.ru нет и не планировалось.

4. Сейчас попробовал max-age=0 перезагрузил nginx и попробовал перейти на http://love.site.ru - браузер все равно редиректит на https://love.site.ru

так как в листе предзагрузки хрома есть запись { "name": "мойсайт.ru", "include_subdomains": true, "mode": "force-https" },

Оптимизайка
На сайте с 11.03.2012
Offline
396
#8
Dram:
4. Сейчас попробовал max-age=0 перезагрузил nginx и попробовал перейти на http://love.site.ru - браузер все равно редиректит на https://love.site.ru
так как в листе предзагрузки хрома есть запись { "name": "мойсайт.ru", "include_subdomains": true, "mode": "force-https" },

Все правильно, т.к. при переходе на http://love.site.ru HSTS заголовок игнорируется. Вам нужно выписать сертификат на https://love.site.ru, добавить заголовок HSTS с max-age=0 и тогда при заходе на https://love.site.ru из базы браузера ваш сайт пропадет, и http:// будет работать. С https:// можно сделать редирект на http:// но заголовок надо тоже добавлять.

D
На сайте с 28.06.2008
Offline
1101
#9
Оптимизайка:
С https:// можно сделать редирект на http:// но заголовок надо тоже добавлять.

Я так понимаю это самое быстрое для меня решение - подскажите, пожалуйста, как реализовать?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#10

получите сертификат в letsencrypt например, на поддомен.

далее в nginx:

server {

listen 443 ssl;

server_name love.site.ru;

ssl_certificate /путь/к/сертификату.pem;

ssl_certificate_key /путь/к/приватному/ключу.key;

add_header Strict-Transport-Security "max-age=0";

return 301 http://$host$request_uri;

}

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий