Домен Google .dev странно перенаправляет на https

19

Я купил домен .dev сегодня @ domains.google. Я также настроил выделенный веб-сервер nginx, на который указывает домен .dev (записи A).

Очень странно, что я не могу получить доступ к своей странице приветствия nginx через свой example.devдомен, потому что по какой-то странной причине я перенаправлен на то, https://example.devчто затем не удается (никакое соединение с моим веб-сервером http не может быть установлено). Однако любой другой домен, указывающий на этот новый сервер, работает правильно. Вроде example.comпросто работает. Я ничего не настроил для nginx, просто установил его (демо-конфиг работает). Очевидно, что это как-то связано с Google в качестве регистратора. ОК, так что я свяжусь со службой поддержки Google, верно? Да. Я сделал это, однако, они сказали мне, что это было то, что я должен был решить со своей стороны и всегда ссылался на «связаться с вашим веб-хостингом» (что не является слишком большим советом, так как я хост).

Я попробовал все в консоли Google, но не могу заставить его работать. Поддержка Google была очень, очень разочаровывающей, и теперь я надеюсь увидеть некоторые решения по этой проблеме.

Джонни
источник

Ответы:

44

.devдомены только HTTPS. Это не редирект. Это предварительная нагрузка HSTS.

HSTS - это технология, которая позволяет доменам объявлять, что они только HTTPS. Это предназначено, чтобы смягчить против атак понижения протокола. При первом посещении сайта, который хочет использовать HSTS, вы получаете заголовок, который запрещает вам посещать этот домен по HTTP.

Список предварительной загрузки HSTS встроен в веб-браузеры, так что браузер знает, что сайт только HTTPS, даже до первого посещения. Если сайт находится в списке предварительной загрузки HSTS, к нему никогда не будет доступ через HTTP в этом браузере, только через HTTPS.

Google поместил весь .devдомен верхнего уровня в список предварительной загрузки HSTS . Это означает, что ни один .devдомен никогда не сможет работать как сайт HTTP.

Когда вы регистрировали свой .devдомен, реестр Google сказал вам об этом на первой странице в разделе «Преимущества безопасности»:

Получите встроенную безопасность

Ваша безопасность - наш приоритет. Домен верхнего уровня .dev включен в список предварительной загрузки HSTS, поэтому HTTPS требуется для всех подключений к веб-сайтам и страницам .dev без необходимости отдельной регистрации или настройки HSTS. Безопасность встроена.

В настоящее время только Firefox и Chrome поддерживают эту предварительную загрузку HSTS. Если вы хотите протестировать свой сайт до того, как настроите HTTPS, вы можете использовать другой браузер. Вы также можете изменить настройки браузера, чтобы отключить HSTS .

Из-за предварительной загрузки HSTS вам потребуется запустить .devдомен на HTTPS-сервере, чтобы пользователи могли получить к нему доступ.

Стивен Остермиллер
источник
2
Вот и все. Должно быть, я пропустил эту информацию, и служба поддержки больше не будет напоминать мне об этом факте (хотя я думаю, что совершенно очевидно, что мне не хватало именно этой информации).
Джонни
8
Да, поддержка должна была сказать вам это.
Стивен Остермиллер
4
@Johnny, кстати, вы можете быть заинтересованы в Let's Encrypt: letsencrypt.org
Ave
1
Другой созданный Google TLD .appтакже является пространством имен только для HTTPS. Осторожно.
Алекс Джоне
4
Для доменов dev зарезервированы два * .test и * .localhost. Они полностью зарезервированы, поэтому никогда не будут приняты как настоящие TLD. * .localhost на самом деле очень хорошо, если вы проводите тестирование на локальном хосте, поскольку вы можете использовать несколько сервисов, как если бы вы использовали другие TLD, и он по-прежнему соответствует 127.0.0.1. * .test предназначен для любых вещей, связанных с DNS, поэтому, если вам нужно сопоставить IP-адреса виртуальных машин или что-то в этом роде, это ваш выбор. В последнее время я большой поклонник * .localhost с докерными контейнерами, так как я все равно сопоставляю обратный прокси с 127.0.0.1. Не требует локальных днс или / etc / hosts shenanigans.
superlinkx