程序员刘杨

———没有写不出的程序,只有不努力的程序员。

2018年11月11日   码农之路   1,164 次浏览

祝大家新年快乐,有任何问题可与我联系:点击这里给我发消息

首先需求是这样的:需要根据用户输入的域名或IP(内网或外网)来加载不同的静态资源。

之前功能是好的,最近使用了iis做反向代理发现获取到的是服务器的IP,排查了好久才找到原因出在反向代理上:

代理为了提高性能,一些Http头部信息不回转发给后台服务器,其中就包括代理服务器的host信息,而tomcat中对于request.getServerName()的实现,就是取这个host信息,如果http header总没设置,则取应用所在服务器IP地址。

所以,需要设置下让代理服务器把Host转发给后台服务器。网上类似的资料都是apache和nginx的解决方法,iis的资料很少,搜了好久才找到,这里总结下:

1、apache:在<VirtualHost/>标签中的最后添加 ProxyPreserveHost on

<VirtualHost *:80>
	RewriteEngine on
	ProxyPass /TLimages/ !
	ProxyPass /imagelist/ !
	ProxyPass /xiazai/ !
	ProxyPass /ad/ !
	ProxyPass / balancer://proxy/
	ProxyPassReverse / balancer://proxy/
	ProxyPreserveHost on
</VirtualHost>

2、nginx:在location {…}中添加 proxy_set_header Host $host

location ^~/proxy_path/ {
	root "/www/html";
	index index.html;
	proxy_pass http://192.168.223.137/;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

3、iis:设置preserveHostHeader:true

%windir%\system32\inetsrv\appcm d.exe set config -section:system.webServer/proxy -preserveHostHeader:true /commit:apphost

 

赞 赏
申明:除非注明,本站文章均为原创,转载请以链接形式标明本文地址。 如有问题,请于一周内与本站联系,本站将在第一时间对相关内容进行处理。
本文地址: http://www.yyjjssnn.cn/articles/842.html

>>> Hello World <<<

这篇内容是否帮助到你了呢?

如果你有任何疑问或有建议留给其他朋友,都可以给我留言。

:wink: :twisted: :surprised: :smile: :smile9: :smile8: :smile7: :smile6: :smile5: :smile56: :smile55: :smile54: :smile53: :smile52: :smile51: :smile50: :smile4: :smile49: :smile48: :smile47: :smile46: :smile45: :smile44: :smile43: :smile42: :smile41: :smile40: :smile3: :smile39: :smile38: :smile37: :smile36: :smile35: :smile34: :smile33: :smile32: :smile31: :smile30: :smile2: :smile29: :smile28: :smile27: :smile26: :smile25: :smile24: :smile23: :smile22: :smile21: :smile20: :smile1: :smile19: :smile18: :smile17: :smile16: :smile15: :smile14: :smile13: :smile12: :smile11: :smile10: :smile0: :sad: :rolleyes1: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow:

友情链接: 程序员刘杨 刘杨
Copyright 2003~2018 保留所有权利 | 网站地图
备案号:湘ICP备14001005号-2

湘公网安备 43011102001322号