nginx 监听非标准端口80,重定向端口丢失问题解决

Posted 那人,那事,那代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 监听非标准端口80,重定向端口丢失问题解决相关的知识,希望对你有一定的参考价值。

使用nginx监听8070端口,并转发到8067端口

我的配置文件如下:

upstream odoo {
    server localhost:8067;
}
upstream odoochat{
    server localhost:8072;
}
server {
    listen 8070 default_server;
    listen [::]:8070 default_server;

    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;

    server_name _;


    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        # try_files $uri $uri/ =404;
            # proxy_redirect off;
         proxy_pass http://odoo;
        # index index.html;
        proxy_set_header Host $host;  
        proxy_set_header X-Real-IP $remote_addr;  
        proxy_set_header X-Forwarded-HOST $host:$server_port;  # 关键需要在此处添加端口号变量,或者直接使用端口号8070
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location /longpolling{
        proxy_pass http://odoochat;
    }

ps:我是用来反向代理odoo系统,测试结果是ok的

以上是关于nginx 监听非标准端口80,重定向端口丢失问题解决的主要内容,如果未能解决你的问题,请参考以下文章

通过地址重写, 解决ingress在使用非标准端口(80, 443)时, 引起的重定向丢失端口问题

通过地址重写, 解决ingress在使用非标准端口(80, 443)时, 引起的重定向丢失端口问题

nginx 反向代理时丢失端口的解决方案

nginx 反向代理时丢失端口的解决方案

nginx 反向代理时丢失端口的解决方案

关闭端口80的nginx上的http和https重定向