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.
Надеюсь, это поможет кому-то еще.