Маскировка URL-адреса Nginx в другой домен
есть несколько подобных вопросов на SO, но ни один точно не мой, и мне не повезло, пытаясь адаптировать свои ответы до сих пор.
Я хочу сопоставить URL http://sub.example.com
to https://123.12.12.12/path
, Так что браузер по-прежнему показывает URL http://sub.example.com
.
мой конфигурационный файл Nginx выглядит так:
server {
listen 80;
server_name sub.example.com;
location / {
proxy_pass https://123.12.12.12;
rewrite ^/$ /path last;
}
}
маршрутизация работает здесь, но URL-адрес отображается http://sub.example.com/path
. Как сделать так, чтобы он отображался только http://sub.example.com
?
1 ответов
server {
listen 80;
server_name sub.example.com;
location / {
proxy_pass https://123.12.12.12/path;
}
}
вот как это работает. Если proxy_pass содержит часть местоположения-текущее местоположение будет заменено на указанное. http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
но это помощь только для http-запроса и перенаправления http. Если приложение создает html со ссылками https://123.12.12.12
- он все еще не изменился. В этом случае вы можете попробовать ngx_http_sub_module.