nginx转发https到http

Posted 左直拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx转发https到http相关的知识,希望对你有一定的参考价值。

微信小程序和公众号,要求外链的页面或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是俄罗斯人写的。毛子虽然这段时间在西方成为众矢之的,但其理工类,尤其是计算机、数学简直是神一般的存在。我去年在阮一峰的每周博客上,还看到俄罗斯的联邦总理跑到大学讲解数学题。当然俄罗斯的艺术人文也很强。艺术凭直觉,理工讲求逻辑,这两个方面,战斗民族和谐统一,令人佩服。

以上是关于nginx转发https到http的主要内容,如果未能解决你的问题,请参考以下文章

nginx转发请求,从https到http

Atmosphere - Nginx 作为 https->http 转发器 - websocket 不工作

详解https请求Nginx转发tomcat变成http问题

Nginx下https反向代理转发无效问题

nginx负载均衡转发https

ng 能把https转发成http吗