我有一台运行在http://localhost:8080
的服务器我希望nginx代理此服务器的特定网址。
例如,我只希望将http://localhost:8080/test/(.*)
反向代理http://localhost/test/(.*)
。
我正在将另一台服务器代理到http://localhost/
。
答案 0 :(得分:2)
仅仅是一个简单的location
块?
server {
# ... other stuff
location /test/ {
try_files $uri @testproxy;
}
location @testproxy {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
# all your params
}
}
答案 1 :(得分:2)
我以这种方式做到了它并且它起作用了。无论如何,谢谢你的评论。 :)
server {
listen 80;
# ... other stuff
upstream backend1 {
server 127.0.0.1:8080;
}
location /test/ {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://backend1/test/;
}
}