Как сделать локалхост публичным: ngrok

Во время разработки сайтов люди обычно работают у себя на компьютере, и запускают сайты локально. Ваша локальная сеть (127.0.0.1) не доступна для людей извне, этот адрес доступен только с вашего компьютера.

Иногда это хочеся исправить: например, показать другу сайт, над которым вы работаете. В случае написания чатбота — это может быть создание локального вебхука.

Как пользоваться

  1. Регистрируетесь, скачиваете, устанавливаете и т.д. по инструкции отсюда.
  2. Узнайте на каком порту хостится ваш сайт/вебхук/что угодно.

Вот так в терминале выглядит запущенная Django:

August 14, 2019 - 18:37:46
Django version 2.2.4, using settings 'real_estate_agency.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Здесь адрес сайта: 127.0.0.1:8000, т.е. порт — 8000.


Вот вывод Flask:

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 203-976-264

В этом случае адрес сайта: 127.0.0.1:5000, т.е. порт — 5000.

  1. Авторизуйтесь в ngrok с вашим токеном.
  2. ngrokните нужный порт:
./ngrok http ПОРТ

Вы получите такой вывод:

ngrok by @inconshreveable                                       (Ctrl+C to quit)
                                                                                
Session Status                online                                            
Account                       Ilya (Plan: Free)                                 
Version                       2.3.34                                            
Region                        United States (us)                                
Web Interface                 http://127.0.0.1:4040                             
Forwarding                    http://d51299bb.ngrok.io -> http://localhost:8000 
Forwarding                    https://d51299bb.ngrok.io -> http://localhost:8000
                                                                                
Connections                   ttl     opn     rt1     rt5     p50     p90       
                              0       0       0.00    0.00    0.00    0.00      
                                                                                
           

Отсюда нужно выловить ngrok-адрес вашего сервиса. Вот он: http://d51299bb.ngrok.io -> http://localhost:8000. Теперь достаточно перейти по ngrok-ссылке (http://d51299bb.ngrok.io) и вы получите ваш сайт.

Если вы делаете вебхук, укажите этот сайт в качестве адреса вебхука.


Попробуйте бесплатные уроки по Python

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.