Туннель подкаталог localhost через ngrok?

Цель: хочу поделиться просмотром веб-сайта с помощью ngrok, который создает туннель, из которого можно увидеть мой локальный хост с URL-адресом чего-то вроде mywebsite.ngrok.io

Проблема: я использую WAMP, а моя папка localhost выглядит примерно так:

localhostdirectory
   |-- website1
   |-- website2
   |-- etc

Чтобы получить доступ к веб-сайту, я набираю текст localhost/website1/ в браузере, я хотел бы туннелировать только этот URL, возможные решения:

  • Настройка виртуального хоста Я бы столкнулся с проблемой ручной настройки виртуального хоста, тогда я получаю что-то вроде website1.dev, а затем я передам его в ngrok в качестве заголовка хоста в HTTP-запросе, вроде этого:

    ngrok http -host-header=website1.dev 80
    

    Я не понял, что такое заголовок хоста, и почему я не могу передать относительный URL-адрес, например localhost/website1/, и что такое вариант перезаписи?

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

Есть ли лучший способ выполнить мою задачу более простым способом, возможно, перейдя через псевдонимы WAMP?

Ответ 1

Если вы соглашаетесь с Apache Vhost, вам просто нужно выполнить команду exec

ngrok http -host-header=rewrite YOUR-LOCAL-DOMAIN:PORT

Не забыл редактировать файл хоста для разрешения @IP ↔ YOUR-LOCAL-DOMAIN

Ответ 2

Я попробовал ниже путь.

Когда я запускал $./ngrok http 80 ngrok слушал localhost:80 который показывает панель мониторинга, потому что сервер apache работает на port 80. Затем я попытался запустить подпапку в другом порту, что решило проблему. Предположим, у вас есть проект в xyz и вы хотите, чтобы ngrok указывал на него. Затем сделайте следующее

$ cd /opt/lampp/htdocs/xyz
$ php -S localhost:8080

Здесь 8080 - это любой неиспользуемый порт. localhost:8080 прямых точек на xyz а затем открыть другой терминал

$./ngrok http 8080

При этом ngrok будет прослушивать порт 8080 ваш xyz.

Надеюсь это поможет!!

Ответ 3

После того, как вы настроили адрес ngrok, чтобы указать на localhost на порт 80, вы можете получить доступ к своим сайтам по их именам. Пример:

ngrok http -subdomain=dev 80

Доступ к веб-сайту1:

dev.ngrok.io/website1