问题描述:
1.服务器环境介绍
linux系统 一台主机下两个虚拟机1,虚拟机2。
nginx部署在虚拟机2. ,应用部署在虚拟机1,nginx做为反向代理。外部请求通过
nginx转发到虚拟机1的tomcat 18080端口(这边tomcat host name 配置的是nginx的监听域名)。
2.当使用httpclient4.3 往本机的另一个应用发起请求时。url为localhost:18080时报404.,外部域名无法连接。
原因分析:localhost访问可以访问到应用但是域名localhost与tomcat 外包www.xxx.xx.com不符报404.
外部域名访问映射的猜是主机ip无法映射到虚拟机上的nginx,无法转发。
解决办法:只要想办法让httpclient发起的url直接访问本机的18080端口就行了:
在虚拟机2(应用部署虚拟机)的hosts文件中增加域名与本机的映射即可。
路径:/etc/hosts
增加:
127.0.0.1 www.xxx.com.cn