用Nginx配置代理,组织平滑环境,让前端专注开发

日常工作中经常遇到这样的场景,后端是多个团队协作的。开发、调试、测试环境可能都不同,但是最后部署是一体的。

 

Nginx可以很好解决此类问题,并辅助前端开发过程中,实现mock到真实环境的无缝切换。下面一一个实例,为大家呈现下:

1、了解后端提供的各类接口,相关地址。收集到如下列表。

No服务开发团队VPN域名协议路径
1Account合作伙伴1YES10.1.1.1:8081http/account
2User已经系统NOdev.company.net:8080https/user/
3Order后端团队NO172.2.16.8:8080http/order/
4Static前端团队NO192.168.0.2http/htdocs/

2、明确最终部署时,所有服务都在一个域名下工作。但是这个域名并没有确定下来。

先暂定此域名为 :  oss.cloud.net , 代码中不要出现绝对路径

3、配置nginx,这里涉及到https,估计后面都会使用https。为避免页面跳转,统一使用https配置nginx。脚本如下:

server {
	
	listen 31008 ssl;
	#listen 443 ssl;
	
	ssl_certificate  server.pem;
	ssl_certificate_key  server.key;
	ssl_password_file  pwd.txt;
	 
	
	server_name cloud.company.net;

 
	location /htdocs/	{
                ssi on;
                ssi_silent_errors on;
                ssi_types text/shtml;

                # local debug no cache
                add_header Cache-Control no-cache;
                add_header Pragma no-cache;
                add_header Expires 0;


                root   /opt/htdocs/;
                index  index.html index.htm;
	}
	location /user/	{
		proxy_pass https://dev.company.net:8080/;
		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_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
		#proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
		

		#proxy_ssl_verify        on;
		#proxy_ssl_verify_depth  2;
		#proxy_ssl_session_reuse on;
	}
	location /account/	{
		proxy_pass http://10.1.1.1:8081/account/;
		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_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
		#proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
		

		#proxy_ssl_verify        on;
		#proxy_ssl_verify_depth  2;
		#proxy_ssl_session_reuse on;
	}
	location /order/	{
		proxy_pass http://172.2.16.8/order/;
		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_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
		#proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
		

		#proxy_ssl_verify        on;
		#proxy_ssl_verify_depth  2;
		#proxy_ssl_session_reuse on;
	}
		 
}

4、使用vpn登录account要求的环境。即可愉快的开始调试了。

 

以上就是完整的步骤。如果不知晓如何创建server.pem,server.key。  可参考https://blog.csdn.net/gycommunicate/article/details/2585179

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值