Я видел эту проблему довольно много раз в Интернете, до сих пор я не нашел реальный способ решить его правильно . Проблема заключается в следующем:
У нас один сайт слушает 127.0.0.1:8080 ; поэтому я хочу показать его другой сети, используя другой адрес, предположим, что http://example.com/APPLICATION/ . Система работает, но все hrefs и src указывают на http://example.com, а не на http://example.com/APPLICATION . Это создает много 404 и страницу css / script / image-less.
http://example.com/APPLICATION ---> Calls http://127.0.0.1:8080
И это нормально. Теперь давайте предположим, что я нажимаю на ссылку, указывающую на /secondpage.html
. Я ожидал бы пойти, чтобы пойти http://example.com/APPLICATION/secondpage.html
и нет http://example.com/secondpage.html
.
Теперь это касается скриптов, листов CSS и изображений. Я уже знаю о модуле HttpSub (s), который может переписывать теги href и src, но это подразумевает создание «перехватывающих» правил перезаписи, которые указывают на /.
Наконец, вот код блока, который я использую:
location /APPLICATION {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}