Для нашей локальной установки разработки требуется поле в DMZ, и каждый разработчик имеет строку в своей конфигурации apache для проксирования. Похоже что-то вроде:apache обратный прокси: как перенаправить прокси-сервер HTTP_HOST
ProxyPreserveHost on
ProxyPass /user1/ {user1's IP}
ProxyPassReverse /user1/ {user1's IP}
ProxyPass /user2/ {user2's IP}
ProxyPassReverse /user2/ {user2's IP}
#etc
Наших публичные URL-адрес становится {DMZ server}/user1
, {DMZ server}/user2
и т.д. Проблемой в том, что на коробках в Дэв, значение $_SERVER['HTTP_HOST']
просто {DMZ server}
, без подкаталога пользователя. Желаемое поведение должно состоять из /user%/
в качестве реального имени хоста.
Я пробовал переопределить HOST var и некоторые правила перезаписи, но ничего не сработало.
Создание субдоменов не является вариантом.
благодарим за любую помощь!
$ _SERVER ['HTTP_HOST'] в любом случае покажет имя хоста или IP-адрес. Вам нужно использовать $ _SERVER ['REQUEST_URI'] или что-то подобное, чтобы получить полный путь. –
Поверьте мне, я просмотрел все $ _SERVER за правильное значение. Besies, я бы предпочел не запускать все проекты, которые я запускаю, и изменить код. Фундаменты PHP, которые мы используем, также зависят от HTTP_HOST. – Ethan
Итак, если я правильно понял вопрос, желание состоит в том, чтобы {DMZ_SERVER}/пользователь% прошел через бэкэнд-приложения? – groodt