写一段 http://www.baidu.com/security-gateway/abc 代理到 http://127.0.0.1:8080/abc 的Nginx 的代理
时间: 2023-08-13 12:09:30 浏览: 130
可以使用下面的Nginx配置将 http://www.baidu.com/security-gateway/abc 代理到 http://127.0.0.1:8080/abc:
```
server {
listen 80;
server_name www.baidu.com;
location /security-gateway/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
这个配置中,listen指令表示监听的端口号和协议,server_name指令表示匹配的域名,location指令表示要代理的路径。
在location指令中,使用了proxy_pass指令将请求转发到 http://127.0.0.1:8080/。同时,使用了proxy_set_header指令来设置一些HTTP头部信息,包括Host、X-Real-IP和X-Forwarded-For。这些头部信息可以帮助后端服务器正确处理请求。
需要注意的是,这个配置中的location指令以“/security-gateway/”结尾,这意味着当请求的URI以“/security-gateway/”开头时,将会被代理到http://127.0.0.1:8080/路径下。如果要代理到http://127.0.0.1:8080/security-gateway/路径下,可以将location指令修改为:
```
location /security-gateway/ {
rewrite ^/security-gateway/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:8080/security-gateway/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
```
这个配置中,使用了rewrite指令将URI中的“/security-gateway/”删除,然后再将请求转发到http://127.0.0.1:8080/security-gateway/路径下。
阅读全文