Хороший способ обойти эту проблему - иметь локальный обратный прокси-сервер для каждой рабочей станции / работодателя, прослушивающий 127.0.0.1
и любой порт, который вы используете для связи с находящимися в разработке приложениями.
Простой способдля этого используется веб-сервер nginx
.Предполагая, что субдомен .localhost
является myapp.localhost
, а vagrant vm прослушивает ip 192.168.10.80
, правильные настройки nginx:
server {
listen 80;
server_name myapp.localhost;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://192.168.10.80;
}
}
В дистрибутиве Ubuntu GNU / Linux вы должны удалить /etc/nginx/sites-enabled/default
создайте новый файл в /etc/nginx/sites-available
и символическую ссылку в папку etc/nginx/sites-enabled/
.
ПРИМЕЧАНИЕ: Используйте полные пути во время символической ссылки вместо относительных.
Также, как вы заметили, я также передаю заголовки Host
и X-Forwarded-For
, которые используются, потому что некоторые приложения могут разрешать URL из заголовков, а обычно используется заголовок Host
(например, древние версииCodeingiter) для автоматического разрешения URL в процессе разработки.
Также для других платформ может также прекратить обслуживать контент из-за отсутствия соответствующих заголовков, что делает PITA разработки (другой, который не используется в сувлаках;)).