Vagrant LocalTunnel и ServerAlias ​​не работают

У меня есть локальная Vagrant VM, на которой я разрабатываю приложения. Я устал от использования Vagrant Share для предоставления общедоступных URL-адресов, потому что он продолжает отключаться, поэтому я установил localtunnel.me

Однако проблема в том, что мои заголовки Apache показывают локальную конфигурацию, что является проблемой. Когда я получаю доступ к своему приложению через URL localtunnel.me, мне нужны такие вещи, как $_SERVER['HTTP_HOST'], чтобы читать "myproject.localtunnel.me", а не "myproject.local".

Я добавил свой публичный домен localtunnel.me в мою конфигурацию ServerAlias ​​для Apache и перезагрузил Apache. Когда я начинаю с:

lt -p 80 -s myproject -l myproject.localtunnel.me 

Затем я получаю 504 Gateway Timeout при переходе к myproject.localtunnel.me

Если я сделаю:

lt -p 80 -s myproject -l myproject.local 

Когда я захожу на http://myproject.localtunnel.me/ phpinfo() показывает, что $_SERVER['HTTP_HOST'] == "myproject.local".

Это разрывает многие из моих соединений с другими веб-зацепками и API-сервисами, потому что заголовки не соответствуют URL.

Любые идеи о том, как преодолеть это (кроме ngrok, который кажется более ресурсоемким для запуска).

1 ответ

Решение

Оказывается, LocalTunnel работает немного иначе, чем Vagrant Share.

Для того, чтобы сделать эту работу:

lt -p 80 -s myproject -l myproject.localtunnel.me 

Вам нужно добавить myproject.localtunnel.me в строку ServerAlias ​​в файле conf сайта (который у меня был).

Но вам также необходимо добавить его в файл хоста вашего Vagrant:

127.0.1.1 myproject.localtunnel.me

Отсутствие записи hosts вызвало ошибку 504.

Надеюсь, это поможет кому-то еще.

Другие вопросы по тегам