0
点赞
收藏
分享

微信扫一扫

nginx转发https到http

weipeng2k 2022-04-08 阅读 176

微信小程序和公众号,要求外链的页面或API必须使用https。https意味着需要证书,在测试阶段,很不方便,因此部署的测试站点都是http。于是尝试在现有的https站点中,用nginx转发请求到只有http的测试站点。

方法众所周知,在nginx.conf中添加一个转发规则。

	server {
    	listen      80;
    	server_name 服务器IP;

		。。。
	}
	
	server {
       	listen 443 ssl;
       	server_name 服务器IP;
      
      	。。。
      	
     	location /test/ {#注意一定要以“/”结尾,否则 /test/*** 一律跳到/test
        	proxy_pass   http://测试的HTTP站点IP:端口/;
        	proxy_redirect off;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
   	}

这样的话,我们在小程序或公众号中用类似 https://www.abc.com/test/**** 的方式请求,nginx能为我们转发到相应的测试站点上。注意转发规则中,一定要以“/”结尾,否则 /test/*** 一律被跳到/test。

nginx真是一款神器,web服务器,代理,负载均衡,转发,我还看到有用它来缓存天地图瓦片的。几乎无所不能。还短小精悍,资源消耗极低。网上查找nginx的历史,发现没有几个小孩子扯的清,但我早在2001年的时候,就听说过它。那时候网易啊啥的互联网大站点在使用。可惜我一直睁眼瞎,缺乏好奇心和上进心,浑浑噩噩。值得一提的是,nginx是俄罗斯人写的。毛子虽然这段时间在西方成为众矢之的,但其理工类,尤其是计算机、数学简直是神一般的存在。我去年在阮一峰的每周博客上,还看到俄罗斯的联邦总理跑到大学讲解数学题。当然俄罗斯的艺术人文也很强。艺术凭直觉,理工讲求逻辑,这两个方面,战斗民族和谐统一,令人佩服。

举报

相关推荐

0 条评论