Nginx反向代理一个80端口下配置多个微信项目详解

发布时间 - 2026-01-10 23:04:18    点击率:

Nginx反向代理一个80端口下配置多个微信项目详解

 我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑。但是微信公众号接口只支持80接口(80端口)。我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎么办?

  我们可以用nginx服务器做反向代理来解决这个问题。nginx服务器对外80端口,然后根据URL参数不同,对内访问不同的项目。

  

  nginx配置如下:

  打开/usr/local/nginx/conf/nginx.conf

worker_processes 4;
error_log logs/error.log;
events {
  worker_connections 1024;
}
http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  keepalive_timeout 65;

gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml application/javascript;
gzip_vary on;

  #指向项目一
  upstream backend1 {
    server 192.168.1:8081;
  }
  #指向项目二
  upstream backend2{
    192.168.1.1:8082;
  }
  proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache:128m inactive=1d max_size=1G;
  include vhosts/*;
}

  打开/usr/local/reverse_proxy_nginx/conf/nginx.conf

worker_processes 2;
events {
  worker_connections 1024;
}
http {
  include    mime.types;
  default_type application/octet-stream;
  access_log /home/nginx_log/reverse_proxy_no1_access.log;
  sendfile    on;
  keepalive_timeout 65;
  upstream backend1 {
    #server 192.168.1.1:8181;
  server 192.168.1.1:8081;
  }
  upstream backend2 {
    #server 192.168.1.1:8082;
  server 192.168.1.1:8082;
  }
  proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache:128m inactive=30m max_size=1G;
  server {
    listen    8081;
    server_name h5.xxxx.com;

    location / {
        proxy_pass http://backend1;
      #Proxy Settings
        proxy_redirect   off;
       proxy_set_header  Host       $host;
      proxy_set_header  X-Real-IP    $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
      proxy_max_temp_file_size 0;
      proxy_connect_timeout   90;
      proxy_send_timeout     90;
      proxy_read_timeout     90;
      proxy_buffer_size     4k;
      proxy_buffers       4 32k;
      proxy_busy_buffers_size  64k;
      proxy_temp_file_write_size 64k;
    add_header Nginx-Res "http://backend1";
    }

    location ~ ^/(h5)(.*)$ { 
       proxy_pass http://backend2;
       proxy_redirect off;
       proxy_set_header Host $host;
       proxy_cache cache;
       proxy_cache_valid 200 302 1d;
       proxy_cache_valid 301 1d;
       proxy_cache_valid any 1m;
       expires 1h;
     add_header Nginx-Res "http://backend2";
       proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
       add_header Nginx-Cache "$upstream_cache_status";
     }

    
    error_page  500 502 503 504 /50x.html;
    location = /50x.html {
      root  html;
    }
  location ~ .*\.(gif|jpg|png|css|js|ico)(.*) {
       proxy_pass http://backend1;
       proxy_redirect off;
       proxy_set_header Host $host;
       proxy_cache cache;
       proxy_cache_valid 200 302 30d;
       proxy_cache_valid 301 1d;
       proxy_cache_valid any 1m;
       expires 30d;
       proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
     add_header Nginx-Res "http://backend1";
       add_header Nginx-Cache "$upstream_cache_status";
    }

  当我们打开URL包含h5时,就会跳到8081端口项目中,但是对外还是80端口。所以两个项目可以同时实现微信授权登录等。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Nginx反向代理一个80端口下配置多个微信项目  # Nginx反向代理80端口  # Nginx配置多个微信项目  # Nginx服务器中配置非80端口的端口转发方法详解  # Nginx端口映射配置方法  # nginx配置多个站点共用80端口的解决方法  # 详解Nginx与Apache共用80端口的配置方法  # nginx反向代理之多端口映射的实现  # nginx反向代理之将80端口请求转发到8080  # Nginx配置多端口多域名访问的实现  # nginx中端口无权限的问题解决  # 就会  # 多个  # 可以用  # 希望能  # 当我们  # 谢谢大家  # 跳到  # 解决这个问题  # 服务器配置  # 文档  # text  # javascript  # plain  # xml  # gzip_vary  # css  # upstream  # gzip_types  # gzip_buffers  # gzip_min_length 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: C语言设计一个闪闪的圣诞树  详解Android图表 MPAndroidChart折线图  如何实现javascript表单验证_正则表达式有哪些实用技巧  Java解压缩zip - 解压缩多个文件或文件夹实例  Android自定义控件实现温度旋转按钮效果  网站制作软件免费下载安装,有哪些免费下载的软件网站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  C#如何调用原生C++ COM对象详解  ,南京靠谱的征婚网站?  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  香港服务器WordPress建站指南:SEO优化与高效部署策略  Laravel如何处理异常和错误?(Handler示例)  javascript基于原型链的继承及call和apply函数用法分析  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  详解vue.js组件化开发实践  浅析上传头像示例及其注意事项  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  高性能网站服务器部署指南:稳定运行与安全配置优化方案  怎么用AI帮你为初创公司进行市场定位分析?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  奇安信“盘古石”团队突破 iOS 26.1 提权  高防服务器租用首荐平台,企业级优惠套餐快速部署  详解Oracle修改字段类型方法总结  如何快速重置建站主机并恢复默认配置?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  JavaScript Ajax实现异步通信  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何快速生成可下载的建站源码工具?  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何在阿里云购买域名并搭建网站?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何快速完成中国万网建站详细流程?  网站图片在线制作软件,怎么在图片上做链接?  javascript日期怎么处理_如何格式化输出  在线教育网站制作平台,山西立德教育官网?  Laravel如何创建自定义Facades?(详细步骤)  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何使用Telescope进行调试?(安装和使用教程)  Linux安全能力提升路径_长期防护思维说明【指导】  公司网站制作价格怎么算,公司办个官网需要多少钱?  大连 网站制作,大连天途有线官网?  Python文本处理实践_日志清洗解析【指导】  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel如何使用Blade模板引擎?(完整语法和示例)  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?