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的

原文地址:https://www.cnblogs.com/qianxunman/p/12266957.html

时间: 2024-11-05 11:46:33

nginx 监听非标准端口80,重定向端口丢失问题解决的相关文章

nginx监听端口和反向代理端口的权限问题

Linux的SELinux安全性控制除作用于文件系统外还作用于端口,这使得那些作为服务启动的进程只能在规定的几个端口上监听.为叙述方便我们称之为受控端口. nginx监听端口 要查看当前有哪些受控端口可执行: # semanage port -l | grep '^http_port_t' http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000 这里显示了八个端口号,其中包括80端口.由于nginx默认在80端口监听因此启动正常. # s

让IIS只监听一个IP上的80端口

服务器上分配了3个IP,想让IIS监听其中一个IP,其余端口分配给tomcat,经研究方法如下: 1.打开命令行,运行CMD 进入CMD界面2.输入netsh 进入网络配置3.输入http 进入HTTP配置4.输入sho iplisten 查看当前IIS监听的IP列表 (如果为空即默认为所有IP)5.输入 add iplisten ipaddess=10.1.1.1 (这里会提示添加成功)6.再次输入 sho iplisten 进行查看 (正常情况这里会出现 10.1.1.1的信息) 到上面为止

linux下自动检测服务端口是否正常监听。

脚本说明: 1.检查服务器的各端口服务是否正常. 2.服务端口如果没有正常监听,将自动重启该端口服务,记录日志,并发邮件通知管理员. 3.让crontab每5分钟自动执行该脚本. 4.脚本调用了sendEmail来发邮件,请自行谷歌百度装sendEmail.再次提醒是sendEmail 不是sendmail  ... [[email protected] ~]# cat monitor.sh #!/bin/bash # # description:  service check export P

Cloud Foundry中DEA与warden通信完成应用端口监听

在Cloud Foundry v2版本中,DEA为一个用户应用运行的控制模块,而应用的真正运行都是依附于warden.更具体的来说,是DEA接收到Cloud Controller的请求:DEA发送请求给warden server:warden server创建warden container并将用户应用droplet等环境配置好:DEA发送应用启动请求至warden serve:最后warden container执行启动脚本启动应用. 本文主要具体描述,DEA如何与warden交互,以保证最终

Linux下监听或绑定(bind)843端口失败

问题:写了一个程序,尝试在843端口监听,结果在执行bind的时候失败了 原来,系统不允许用户程序在1-1024端口监听,因为他们是知名端口. 解决办法: 换成root用户,即可成功bind.(ubuntu下命令为:sudo su  ,然后输入密码回车即可切换用户.) sudo java -jar

Linux下监听或绑定(bind)21端口失败

问题:写了一个程序,尝试在21端口监听,结果在执行bind的时候失败了. sockaddr_in sock_addr; sock_addr.sin_family = AF_INET; sock_addr.sin_addr.s_addr = host_inet_addr; sock_addr.sin_port = htons(port);    //port=21 ret = bind( m_socket_fd, (const sockaddr*)&sock_addr, sizeof(sockad

NetworkComms V3 之同时监听多端口

NetworkComms通信框架,是一款来自英国的c#语言编写的通信框架,历时6年研发,成熟稳定,性能可靠. 框架支持同时监听服务器上的多个端口,写法如下: //创建一个要监听的端点的列表 List<IPEndPoint> endPointsToUse = new List<IPEndPoint>() { new IPEndPoint(IPAddress.Parse("192.168.0.1"), 4567), new IPEndPoint(IPAddress.

Nginx 泛解析配置请求映射到多端口实现二级域名访问

由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试后,进行了总结. 文章开始之前先来理解一下二级域名的概念. 二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称:在国家顶级域名下,它是表示注册企业类别的符号.我国在国际互联网络信息中心(Inter NIC) 正式注册并运行的顶级域名是CN,这也是我国的一级域名.在顶级域名之

一台Oracle数据库服务器上两个监听同时使用

记得之前Oracle原厂的工程师在例行检查时发现一台Oracle数据库服务器的上启动了两个监听,分别监听的是1521和1581端口,而且两个端口都在用,当时当作一个比较奇怪的现象,没有能理解原因是什么.最近几天在看Oracle网络配置的文档,无意间在虚拟机上启动了两个监听,就又想起了之前的问题.到底是因为什么原因呢? 下面先来还原一下整个过程. 当时是在做配置静态监听的练习,在listener.ora中配置了一个静态监听: ORCL =   (DESCRIPTION=     (ADDRESS_