半霜 2018-04-03 03:07 采纳率: 100%
浏览 5760
已采纳

Nginx能否监听443端口进行8089端口的反向代理

在开发微信小程序时,微信官方需要全局使用443端口。
在小程序中我们使用了emqtt服务,然后我们的后台跑在iis上。
iis上的项目端口号用的8089,emqtt服务的端口是8083.
我们想要使用Nginx监听443端口,
当监听到访问443端口并且为/mqtt时Nginx代理为8083端口。
当监听到/app时代理为8089端口。
可是我在写完/app后,Nginx仅仅只是帮我做了转发,网页提示网页并不能提供
安全链接。
加上了#proxy_set_header Host $host; 后 网页提示重定向次数过多。

以下是Nginx 的配置


#user  nobody;
worker_processes  1;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http{

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;


    server {
        listen 443 ssl;
        server_name  www.brhein.cn;

        #配置ssl证书
        ssl on;
        ssl_certificate Nginx_SSL/1_www.brhein.cn_bundle.crt;
        ssl_certificate_key Nginx_SSL/2_www.brhein.cn.key; 

        #设置编码格式
        #charset utf-8;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #服务端要支持 协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;


############################################################
     # 将Https的转发到IIS上面的8089端口
     # IIS 
     # listen    :   www.domain.cn:443/app
     # redirect  :   www.domain.cn:8089/app
############################################################


        # 监听app
        location /app/ {
            proxy_pass http://www.domain.cn:8089;

            #proxy_set_header Host $host;

        }   


############################################################
     # emqtt的wss使用的是8084端口,则监听443端口的\mqtt 检测到就转到8084端口
     # mqtt
     # listen    :   www.domain.cn:443/app
     # redirect  :   www.domain.cn:8089/app
############################################################


        # 监听mqtt
        location /mqtt {
            proxy_pass http://www.domain.cn:8083;

            #proxy_set_header Sec-WebSocket-Protocol mqtt;
            #more_clear_headers Sec-WebSocket-Protocol;

            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

            #proxy_set_header Host $host;

        }  

    }



}




  • 写回答

5条回答 默认 最新

  • 半霜 2018-12-26 14:22
    关注

    最终还是放弃反向代理,用别的方式完成了这个东东,啊哈哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗