首页 > 编程知识 正文

端口不存在怎么解决,nginx反向代理请求参数丢失

时间:2023-05-06 12:43:30 阅读:130064 作者:326

问题说明:

使用docker引入的nginx服务。 nginx内部有80个端口,映射到主计算机上的5001个端口。 nginx的内部配置如下:

ustream upstream { server xx.xx.xx.xx :8080; }server { listen 80; server_name xx.xx.xx.xx; #charset koi8-r; # forserveraccesslogs.if ($ time _ iso 8601 (^ ) (d )-(d {2} ) ) t ) ) d {2} (d {2} ) 3360 ) ) ) ) ) set $month $2; 设置$天$ 3; set $hour $4; set $minutes $5; set $seconds $6; } proxy_http_version 1.1; proxy_read_timeout 10s; proxy_connect_timeout 5s; access _ loglogs/$ { server _ name } _ access _ log.$ year-$ month-$ day main; access _ loglogs/status _ log.$ year-$ month-$ day mini; 位置/页面{ gzip _ static on; alias/cloud/data/page/build/try _ files $ uri $ uri//index.html=404; index index.html; #manifest.json; expires -1s; error _ page 404/console/index.html; (位置(^/) API )/)/{ proxy_pass http://upstream; proxy_set_header Host $host; proxy _ set _ headerx-real-IP $ remote _ addr; proxy _ set _ headerx-forwarded-for $ proxy _ add _ x _ forwarded _ for; proxy_set_header From apprelease; } error _ page 500502503504/50x.html; location=/50x.html {根html; }在浏览器中访问http://xx.xx.xx.xx:5001/page时,浏览器的地址为http://xx.xx.xx.xx/page/

端口号丢了。

问题原因:

发现是try_file的原因。 如果try_file匹配,则执行重定向操作。 nginx重定向默认采用绝对路径。 此时,由于重定向发生在容器中,因此重定向返回的地址为80个端口(nginx端口),出现端口丢失的现象。

解决问题:

禁用绝对路径重定向。 将使用相对路径重定向。

也就是说,加入服务器节点下

absolute_redirect off; 如下图所示;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。