微信开发遇见的问题(二,nginx配置)

881 阅读1分钟

1. nginx代理的配置

juejin.cn/post/684490… 这是以前配置的代理,改一下完全可以用,具体配置可以去看这里面的代码。现在主要的问题是,微信的域名认证好像只能是80与443,但是我请求已经报404了,然后去查了一下服务器的端口,发现好多项目都在使用80端口,我们也在使用80,这样肯定是找不到接口地址的,不知道去哪个服务里面去找。那这个时候怎么办呢。。。。 其实是设置虚拟主机,也就是所说的反向代理

http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen       80;	#监听端口号
        server_name  dns.sdqihang.cn; #服务器地址
        index index.html;

        location / {
            root /home/dist;	#根目录
            index index.html;
            try_files $uri $uri/ /index.html;
        }
        #这个地方这是设置的代理路径
     location /health/ {
            proxy_pass    http://localhost:8082;	#请求代理地址

这个时候我是运行在80端口的,但是后台是运行在8082上的,开启代理也是8082,如上注释里面。这一步应该叫做正向代理,开启代理我前端才能访问接口,就如同你开vpn能上Google原理一样。但是访问接口报404.

2.设置反向代理

反向代理简单说就是服务器端的代理

#Real Server地址      
proxy_pass http://127.0.0.1:8080;

#proxy_redirect default就可以了。
除非返回301的场景,可能需要改写proxy_redirect defalut;
#配置header信息,让Real Server了解实际客户端信息
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
#一些代理超时设置proxy_connect_timeout 30;
proxy_send_timeout 60;proxy_read_timeout 60;
#代理缓冲区设置proxy_buffer_size 32k;
proxy_buffering on;proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;

upstream backend {
 server 192.168.1.101:8001;
 server 192.168.1.102:8002;
 server 192.168.1.102:8003 down;
 server 192.168.1.103:8004 backup;
}
server {
 location / {
 # 代理到upstream        
 proxy_pass http://backend;
 include proxy_params;
 }
}

先总结这些吧