nginx配置域名映射

news/2024/11/25 13:50:56/

1. 支持websocket

同一个域名,多个端口,对应不同的服务。比如,9400是http服务,1900是websocket服务。

要点1:配置多个location

server{
        listen 0.0.0.0:80;
        server_name test.com;

        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Nginx-Proxy true;
            proxy_pass http://114.114.114.110:9400;
            proxy_redirect off;
          }
           location /mqtt {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_pass http://114.114.114.110:1900;
                proxy_redirect off;
            }
        }

要点2:将http升级为websocket

http {
    map $http_upgrade $connection_upgrade {
          default upgrade;
          '' close;
    }

   ......

修改上述 location /mqtt

 location /mqtt {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_pass http://114.115.201.210:1900;
        proxy_redirect off;
  }

2.端口映射

比如,nginx配置端口5001服务。

server {
        listen                          5001;
        client_max_body_size            100m;
        proxy_send_timeout              180s;
        proxy_read_timeout              600s;

        location / { ......
        }

        location ^~ /manage {
            proxy_pass                  http://127.0.0.1:5000;

             ......
        }

          location /node {
            proxy_pass                  http://127.0.0.1:5000;

             ......
        }
    
    }

需要配置域名访问,映射到端口80,配置在同一个nginx.conf
     server {
        listen 80;
        server_name test.cn;
        location / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_pass http://114.114.114.145:5001;
                proxy_redirect off;
        }
    }


http://www.ppmy.cn/news/341539.html

相关文章

Catalyst 9400配置StackWise Virtual

基本情况: 新的Cisco Catalyst 9400(以及9500)支持StackWise Virtual。此功能允许使用10或40 Gbps端口堆叠相同型号的两个交换机。 像传统的StackWise模型一样,当堆叠交换机时,它们成为单个逻辑单元,从而既…

华为OD机试真题 JavaScript 实现【不爱施肥的小布】【2023Q1 100分】

一、题目描述 某农村主管理了一大片果园,fields[i]表示不同国林的面积,单位m2,现在要为所有的果林施肥且必须在n天之内完成,否则影响收成。小布是国林的工作人员,他每次选择一片果林进行施肥,且一片国林施…

安装VastBase G100 v2.2 Build 12

1、防火墙设置 1.1 关闭防火墙和selinux 1.1.1 关闭防火墙 systemctl status firewalld.service systemctl stop firewalld.service systemctl disable firewalld1.1.2 关闭selinux vim /etc/selinux/config1.2 修改hosts文件,添加实际的IP地址和主机名 vi /etc/hosts 1.3…

U盘打不开?恢复u盘,3招解决!

案例:u盘插入电脑后一点反应都没有,这是为什么呢?u盘打不开怎么办? 【我将u盘插入电脑后u盘显示无法打开,为什么会出现这种情况呢?遇到u盘打不开的情况应该怎么办呢?】 经常使用u盘存储文件的朋…

c++ 连sqlserver

//要在 C 中连接 SQL Server 数据库,可以使用 Microsoft 提供的 SQL Server Native Client 或者 //ODBC 驱动程序。以下是使用 SQL Server Native Client 连接数据库的基本步骤: //1. 安装 SQL Server Native Client 驱动程序。 //2. 在 C 代码中包含头…

@足智多谋的你,联网智能门锁试卷(2023高考版)正式发布!

千淘万漉虽辛苦,吹尽狂沙始到金。2023年的高考已于上周正式结束。湖南省高考成绩和录取控制分数线将在6月25日正式公布。广大学子历经一千多个日夜的努力,即将在这一天见证结果。 其实,当我们真正走出校园才发现,学无止境&#x…

【数据可视化】Plotly Express绘图库使用

Plotly Express是一个基于Plotly库的高级Python可视化库。它旨在使绘图变得简单且直观,无需繁琐的设置和配置。通过使用Plotly Express,您可以使用少量的代码创建具有丰富交互性和专业外观的各种图表。以下是Plotly Express的一些主要特点和优势&#xf…

GMQ Wallet致力于成为您专属的保险柜

GMQ Wallet致力于成为您专属的保险柜 每当进行数字资产投资时,我们不能仅仅依靠交易所来存储数字资产,我们更需要有个自己的数字钱包,来存储属于我们个人的数字资产,了解“区块链数字钱包”(以下简称钱包)的…