mac nginx 反向代理解决微信小程序端口问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac nginx 反向代理解决微信小程序端口问题相关的知识,希望对你有一定的参考价值。

参考技术A

反向代理(Reverse Proxy)方式是指以代理服务器来 接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

运行客户端,此时需要通过客户端向服务端请求数据,即需要解决请求地址不能带端口号的问题

5.1 mac自带apache,占用了80端口

编辑httpd.conf里的Listen:80更改为其他端口

5.2重启apache,确认80端口已释放

5.3更改nginx配置,使得其监听端口为80,转发地址为服务器地址即localhost:3000

输入 i 进行编辑,在http模块内更改端口和地址

按 esc 退出编辑,输入 :wq 保存并退出。
重新启动nginx

5.5 由于在Unix内核中非Root用户无法直接使用1024以下的端口,所以此时的80端口仍然是无效的,命令行中会提示不允许。
在/usr/local/opt/nginx 下找到nginx对应的 plist 文件,把这个文件复制到 /Library/LaunchDaemons 下

运行此文件

重启计算机,即可直接通过localhost(你自己设置的server_name)来访问服务器的数据了。

主要参考
搭建mac环境微信小程序的本地测试服务器
解决不支持80端口的问题和nginx配置中遇到的问题

nginx反向代理有关端口的问题

今天在做nginx反向代理的时候,出现了一个问题:我们外网访问端口设置的是8088,但是因为外网访问默认端口是80,所以当页面发生重定向的时候,会出现页面访问不到的问题,、

尝试很多办法之后,终于得到了解决,特意分享出来,希望可以帮到有需要的朋友。

server {
        listen       内网端口;     
        server_name  域名a;  

        if ( $content_type ~ xwork2 ){
                return 403;
        }

        if ( $content_type ~ struts2 ){
                return 403;
        }

    client_header_buffer_size    100m;
    client_max_body_size        500m;
    client_body_buffer_size        100m;

        location / {
        index index.jsp index.do index.html index.htm;
                proxy_pass              访问的内网地址;  
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        Host $host;
                #set_real_ip_from       0.0.0.0/24;
                #real_ip_header         X-Real-IP;
                proxy_headers_hash_max_size 51200;
                proxy_headers_hash_bucket_size 6400;
                proxy_redirect     a 
                                   a:8088;
        }
    
    location /web-console/ {}
    location /jmx-console/ {}
    location /invoker/ {}
}

这里需要配置一下proxy_redirect当上游服务器返回的响应是重定向或刷新请求(如HTTP响应码是301或者302)时,proxy_redirect可以重设HTTP头部的location或refresh字段

 

更多资料可以参考:http://blog.51cto.com/blief/1739178

 

以上是关于mac nginx 反向代理解决微信小程序端口问题的主要内容,如果未能解决你的问题,请参考以下文章

使用nginx反向代理,一个80端口下,配置多个微信项目

【nginx】如何解决使用nginx作为反向代理端口耗尽问题?

微信小程序 WebSocket 使用非 443 端口连接

Nginx反向代理web程序解决谷歌跨越问题配置详解 #yyds干货盘点#

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

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