
У меня в наличии следующее C:\Windows\System32\drivers\etc\hosts
:
127.0.0.1 example.com
Это работает, когда я использую:http://example.com
Но не работает, когда я использую:https://example.com, что приводит к ошибке ERR_CONNECTION_REFUSED.
Есть идеи, как использовать хосты с сайтом HTTPS?
Если нет, то есть ли какая-то альтернатива?
решение1
hosts
В вашем файле указано следующее:
127.0.0.1 example.com
...делает и то, и другоеhttp://example.comиhttps://example.comперейдите на 127.0.0.1, отсюда: ваша собственная машина. (Даже больше:что-либо(Это относится к example.com
, например, ping
или telnet
при запуске с вашего компьютера будет перенаправлено на 127.0.0.1.)
Видимо, у вас есть веб-сервер, работающий на вашем компьютере на порту 80 (HTTP), но ничего на порту 443 (HTTPS). Более того, получение ERR_CONNECTION_REFUSED
фактически доказывает, что ваш hosts
файл используется, так как в противном случае вы бы увиделивеб-сайт по умолчаниюотhttps://example.com.
Обратите внимание, что если бы сервер на вашем компьютере также поддерживал HTTPS на порту 443, вы бы получили ошибки сертификата, так как нет способатыможно купить сертификат для домена example.com
.
решение2
Меня обманули, думая, что сайт обслуживает трафик черезhttps://example.comгде на самом деле URL использует поддомен, например https://www.example.com В этом случае просто добавьте еще одну запись в файл hosts с www.example.com, как показано ниже:
127.0.0.1 example.com
127.0.0.1 www.example.com
Или, по сути, чтобы избежать ошибок на локальном веб-сервере (если вы используете его в целях разработки)
0.0.0.0 example.com
0.0.0.0 www.example.com
решение3
Следующий код в вашем файле hosts у меня работает:
127.0.0.1 https://example.com
127.0.0.1 https://www.example.com