Браузер пытается обновить HTTPS при доступе к размещенному серверу (тупая привязка netcat) через доменное имя, но разрешает HTTP при использовании прямого IP - PullRequest
0 голосов
/ 20 марта 2020

Я недавно установил дроплет Digital Ocean и приобрел доменное имя. Я установил запись AAAA, чтобы указать на цифровую океаническую каплю, и проверил, что изменения распространяются (например, я могу s sh на сервер, используя DNS-имя).

Нет НЕТ балансировщик нагрузки или брандмауэр настроены. Единственный цифровой продукт Ocean, который я настроил, - это моя капля.

Я заметил странное поведение при выполнении некоторых тестов.

Я испробовал несколько способов подачи содержимого HTTP из дроплета, например, мой личный сайт, работающий в ядре do tnet, и сайт express. js.

Однако для на этом вопросе я хочу сосредоточиться на самом базовом c примере, чтобы избежать возможности того, что запрос обновляется неправильно настроенным сервером:

nc -l -p 1500 -c 'echo -e "HTTP/1.1 200 OK\n\n HELLO"'

Когда я перехожу к моей капле через мое доменное имя (http://example.com:1500), я вижу, что процесс netcat завершается sh в моем сеансе капли с sh, и Chrome говорит мне:

Chrome Error

Этот сайт не может обеспечить безопасное соединение. example.com отправил неверный ответ. ERR_SSL_PROTOCOL_ERROR.

Затем я вижу, что URL каким-то образом автоматически изменился на https//example.com:1500.

Когда я перехожу к капле с помощью IP-адреса (при условии, что мой IP-адрес капли равен 12.34.56.78, Я go до http://12.34.56.78:1500), в браузере отображается ожидаемый текст "HELLO".

Expected Result

Этот результат одинаков во всех браузерах.

Почему при отправке http-запросов моей капле происходит попытка обновления до https, но только при прохождении через домен? Это поведение браузера или что-то связанное с Digital Ocean?

Спасибо, что нашли время, чтобы проверить этот вопрос.

1 Ответ

0 голосов
/ 20 марта 2020

Разобрался. У меня есть .dev tld и chrome автоматически обновляет все .dev tlds до HTTPS!

https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

Это сводило меня с ума.

...