Ngrok с SSL и именем хоста

Я пытаюсь открыть свой локальный сайт разработчиков через ngrok. Мой сайт использует https (на порту 7443), и поскольку я использую OpenConnect для аутентификации, у меня есть настройка имени хоста в моем файле хостов Windows (например, «127.0.0.1 aaa.bbb.ccc.com»). Локально я захожу на сайт через https://aaa.bbb.ccc.com:7443 ( Я не могу это изменить, иначе OpenConnect сломается).

Я создал зарезервированный домен на панели инструментов ngrok, но я не знаю, как создать запись CNAME - требуется ли для этого еще одна запись в файле hosts?

Я пытаюсь запустить ngrok с помощью этой команды:

ngrok tls -hostname=aaa.bbb.ccc.com 7443

но там сказано, что я должен привести единственный аргумент. Если я использую

ngrok tls -hostname=aaa.bbb.ccc.com:7443

Я получаю сообщение «Сбой туннельного сеанса: вы должны зарезервировать собственное имя хоста для своей учетной записи, прежде чем ее можно будет привязать. Не удалось привязать домен« aaa »к учетной записи« xxxx »- ему не нравятся поддомены.


person SturmUndDrang    schedule 15.12.2016    source источник


Ответы (1)


Во-первых, вы должны знать, что параметры hostname и tls не входят в бесплатную версию ngrok. Если вы используете платную версию, то вам необходимо сделать следующее:

  • Зарезервируйте домен на панели управления и получите CNAME
  • Если вы зарегистрировали домен в Интернете, перейдите на сайт, на котором вы его зарегистрировали, и измените настройки DNS, чтобы ваш текущий поддомен указывал на CNAME от ngrok (из того, что я вижу, домен не является интернет-доменом, поэтому это вариант может вам не подойти)
  • Для локального домена попробуйте указать домен на CNAME ngrok в файле хоста "<CNAME> aaa.bbb.ccc.com"
  • Запустите ngrok и укажите порт, на котором работает ваш локальный сервер, например ngrok tls -hostname=aaa.bbb.ccc.com:7443, если ваш сервер работает на 7443

ПРИМЕЧАНИЕ. Вы можете запустить сервер с параметром http вместо параметра tls, если вам не требуется защищенное ssl-соединение (https).

person Ken4scholars    schedule 16.12.2016
comment
Я перешел на платную версию, чтобы попробовать это. Я также попытался добавить запись в свой файл hosts (используя IP-адрес CNAME), но это не сработало (ошибка неверного шлюза 502). - person SturmUndDrang; 16.12.2016
comment
Если вы используете tls, вам нужен подписанный сертификат для домена, иначе большинство служб его не примут (при условии, что вы пытаетесь настроить веб-перехватчик). У меня была эта проблема несколько дней назад, поэтому подробно расскажите мне, что вы сделали, и какие результаты вы получаете, возможно, я смогу помочь - person Ken4scholars; 16.12.2016
comment
У меня есть сертификат, выданный * bbb.ccc.com, который установлен на моем сервере IIS. В привязках к сайту я использую этот SSL-сертификат. Придется ли мне использовать завершение работы клиента TLS, чтобы ngrok знал об этом сертификате? например ngrok tls -crt tls.crt -key tls.key 443 - person SturmUndDrang; 19.12.2016
comment
@Silverfox, если вы запускаете сервер IIS с установленным в нем сертификатом, то запускать ngrok с сертификатом не нужно. Если вы используете другое имя хоста, сервер IIS сможет разорвать соединение. Предполагая, что IIS работает на порту 443, запустите ngrok следующим образом. ngrok tls -hostname=aaa.bbb.ccc.com:443 Убедитесь, что CNAME, полученное вами от ngrok, точно указывает на aaa.bbb.ccc.com. Я предполагаю, что вы уже изменили настройки DNS в Интернете, чтобы ваш субдомен указывал на CNAME, полученную от ngrok. - person Ken4scholars; 20.12.2016