nginx反向代理,配置文件路径转发,重定向地址问题?
server {
listen 80; #设置监听IPV4的地址与端口
server_name 666666.dsto.com;
location / {
root /usr/share/nginx/html; #设置WEB应用根目录
index index.html index.htm; #设置默认首页文件
}
location /are/ {
#proxy_set_header Host $host; #是否转发host,后端通过host域名,分析你访问具体那个域名
proxy_set_header X-Real-IP $remote_addr; #获取前一节点的IP,并不一定是用户的真实IP。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取多层级的proxy,链路反追踪,HTTP的请求端真实的IP
proxy_set_header X-NginX-Proxy true;
proxy_pass http://192.168.2.60:5005/;
}
location /baidu/ {
#proxy_set_header Host $host;
proxy_set_header X-Real-IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://www.baidu.com/;
}
error_page 404 403 500 502 503 504 /404.html; #错误,访问404.html
location = /404.html {
root /usr/share/nginx/html; #定义404.html所在路径
}
}
如上nginx配置sever模块,进行路径代理,
进行测试,现在访问:
访问1:666666.dsto.com/are/ 则访问到 http://192.168.2.60:5005/ 此时浏览器地址栏:https://666666.dsto.com/are/
访问2:666666.dsto.com/baidu/ 则访问到 https://www.baidu.com/ 此时浏览器地址栏:https://666666.dsto.com/baidu/
此时问题出现。http://192.168.2.60:5005/ 这个服务里面有2级页面和登录验证。
问题:
_当我要访问http://192.168.2.60:5005/help 二级页面时候。实际我需要访问的是666666.dsto.com/are/help/ (手动输入地址访问没问题)
实际情况是访问:https://666666.dsto.com/are/ 转发到 http://192.168.2.60:5005/ 的主页,然后点击服务的子页面/help,
此时浏览器路径会跳转为https://666666.dsto.com/help/ 报错404,即 /are/ 路径没有被重定向写入访问地址。丢失了/are/导致转发失败。
我要实现的服务里点击help子页面,重定向地址为:https://666666.dsto.com/are/help/
即访问这个服务时候,所有服务内的子页面跳转 实现地址自动重定向加入/are/
_
查询过资料,配置文件重写host、端口、路径等资料,包括访问头。测试后未完美解决。
个人水平一般,非从业者,希望专业人士,给与解答,谢谢。配置文件该怎么写。申请帮助。