хорошо, эта задача должна быть простой, но я просто не могу заставить ее работать. Я хотел бы иметь подпапку после моего доменного имени (фактически после IP этого доменного имени), которая перенаправляет на определенный порт на том же сервере. По сути, я хочу избавиться от необходимости использовать много портов.
Вот мой конфиг nginx для этого
server {
listen 80;
index index.html index.htm index.nginx-debian.html index.php;
server_name aaa.bbb.ccc.ddd;
location ^~ /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001;
}
}
Поэтому при доступе к aaa.bbb.ccc.ddd / app2 я хотел бы разрешить это по адресу http: //aaa.bbb.ccc.ddd: 8001 .
Это может заметить, может быть, так сложно. Что мне здесь не хватает?
Спасибо, Пэт
Ответы:
Поскольку вы пометили это как вопрос обратного прокси-сервера, я предполагаю, что вы имеете в виду, что вы хотите прокси-запрос, чтобы пользователь видел
http://aaa.bbb.ccc.ddd/app2
URL только в своем браузере.Вы можете изменить свой
location
блок на это:Здесь мы фиксируем часть URI после
/app2
к$1
переменной, и использовать его вproxy_pass
директиве.источник
aaa.bbb.ccc.ddd:8001
странице? Скорее всего, вам нужно исправить URL, чтобы содержать/app2
часть.