таргетинг на сайты разработчиков с настройкой vhost с помощью ngrok

Я пытаюсь туннелировать сайт клиентов в каталог моих сайтов с помощью «ngrok http -host-header = client1.dev 80», я получаю 404 при доступе к URL-адресу. После некоторых экспериментов, если я помещу файл index.html в домашний каталог, он отобразит этот файл. Не уверен, почему файл в домашнем каталоге работает, а файлы в каталоге сайтов - нет. Я, должно быть, что-то упускаю .. Есть идеи?

структура каталогов:

www
  |home
  |sites
    | client1
    | client2
      ... 

vhost.conf:

<Directory "/www">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<Virtualhost *:80>
VirtualDocumentRoot "/Users/myname/www/home/wwwroot"
ServerName home.dev
UseCanonicalName Off
</Virtualhost>

<Virtualhost *:80>
VirtualDocumentRoot "/Users/myname/www/sites/%1/wwwroot"
ServerName sites.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>

person paul degrand    schedule 26.07.2015    source источник


Ответы (3)


Cool Вся ваша конфигурация хороша, вам просто нужно выполнить команду

ngrok http -host-header=rewrite home.dev:80

ngrok http -host-header=rewrite sites.dev:80
person Abdourahmane FALL    schedule 10.08.2015
comment
что ты делаешь ? вы настраиваете свой хост-файл? Сначала вам нужно настроить виртуальный хост с сервера apache, а затем настроить файл хоста для повторного использования [YOUR_SITE_NAME: hove.dev] на 127.0.0.1. - person Abdourahmane FALL; 10.12.2015

Для меня это работало только с:

ngrok http -host-header=sites.dev 80

Измените sites.dev на свое имя виртуального хоста.

Источник: Виртуальные хосты (MAMP, WAMP и т. Д.)

person Diogo Gomes    schedule 21.02.2017
comment
Спасибо! Когда у меня будет возможность, я попробую это и вернусь к вам. Я оставил его в покое на некоторое время, пока он не работал. так, как я хотел. - person paul degrand; 28.03.2017
comment
Это сработало для меня, я видел другой способ, о котором упоминал @AbdourahmaneFALL, но я думаю, что это если вы запускаете ngrok с хост-машины - person doz87; 27.06.2017
comment
Я считаю, что это правильный путь для Ngrok2, их последней версии. Думаю, @AbdourahmaneFALL подойдет для более старой версии Ngrok. - person Akshay Agarwal; 28.11.2017

Если вам нужна более постоянная конфигурация, вы можете отредактировать свой ~/.ngrok2/ngrok.yml файл конфигурации.

tunnels:
  test: # the name of your tunnel to call from the command line
    addr: 80 # Your localhost port
    proto: http
    host_header: test.localhost # Your localhost virtualhost

И затем вы можете запустить из командной строки

ngrok start test
person Alex McCabe    schedule 14.08.2018
comment
Просто комментарий, чтобы сказать, если вам нужно использовать синтаксис в ответе @Abdourahmane FALL, в host_header установите значение rewrite, затем в addr установите его на свой vhost, включая порт (например, my.vhost.com:80) - person BrynJ; 25.03.2019