Nginx сайт без ssl отвечает по https://

S
На сайте с 07.03.2013
Offline
56
4907

С недавних пор обнаружил проблему на сервере Nginx , где крутятся два сайта: https://site.ru и http://test.site.ru

Если обратиться к сайту https://test.site.ru - он отвечает и браузер ругается, что сертификат не тот, оно и понятно, сертификат то куплен только для имени site.ru. Но мне не понятно, почему он в принципе отвечает по https:// если в Nginx для этого сайта чётко указано - работать только по 80 порту.

При этом, если кто открыл его вот как https://test.site.ru, то открыть его правильно http://test.site.ru уже не может, браузер(Firefox) видимо запоминает и принудительно редиректит обратно на https://, очистка кеша браузера не помогает. А например в IE нормально открывается по http://test.site.ru

Проблема в настройках или в поведении браузера?

Вот конфиг сайта test.site.ru:

server {

listen 80;
server_name www.test.site.ru;
return 301 http://$server_name$request_uri;
}

server {
listen 80;
server_name test.site.ru;

Вот конфиг сайта site.ru с ssl:

server {

listen 80;
server_name site.ru www.site.ru;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name site.ru www.site.ru;
LEOnidUKG
На сайте с 25.11.2006
Offline
1755
#1

А апатч случаем не стоит?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
dimsog
На сайте с 08.08.2011
Offline
149
#2

Он в любом случае будет отвечать, даже если нет сертификата. Просто вам браузер говорит о том, что сертификата нет.

Так браузеры работают. В конфигах у вас все нормально.

ihor vps -> ihc.ru
S
На сайте с 07.03.2013
Offline
56
#3
LEOnidUKG:
А апатч случаем не стоит?

да, за nginx стоит apache

---------- Добавлено 28.03.2017 в 17:14 ----------

dimsog:
Он в любом случае будет отвечать, даже если нет сертификата. .

это работает только в случае, когда на nginx, к которому мы обращаемся, поднят хоть один сайт на https. верно?

нашел в инете первый попавшийся сайт с http и он по https никак не открывается и не откроется, т.к. нечему отвечать там на 443 порту.

dimsog
На сайте с 08.08.2011
Offline
149
#4

saloed, да.

Сейчас проверил, на одном VPS у меня сайты только c http, такой проблемы нет. На второй сайты c https и http. И там в браузере ваша проблема воспроизводится. У меня только nginx

S
На сайте с 07.03.2013
Offline
56
#5
dimsog:
saloed, да.
Сейчас проверил, на одном VPS у меня сайты только c http, такой проблемы нет. На второй сайты c https и http. И там в браузере ваша проблема воспроизводится. У меня только nginx

дык а очистка кеша браузера должна помогать?

просто если я попытаюсь открыть сайт по https, а потом по http, то он уже редиректит сам с http на https, что бы я ему не делал или я не умею чистить кеш браузера.

dimsog
На сайте с 08.08.2011
Offline
149
#6

По идее должна. Я конкретно эту проблему не могу у себя воспроизвести. :(

LM
На сайте с 18.10.2009
Offline
117
#7

Сделать вирт хост для https://test.site.ru с редиректом на http версию и самописным сертификатом.

saloed:
просто если я попытаюсь открыть сайт по https, а потом по http

Видимо, сервер посылает заголовок HSTS. Можно это проверить curl-ом, например.

S
На сайте с 07.03.2013
Offline
56
#8

Оказывается я выстрелил себе в ногу вот этой настройкой на домене с купленным ssl:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Это включило HSTS для всех субдоменов.

Выключил это вот так

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

И очистил HSTS кеш Firefox. Теперь порядок.

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