问题
使用CXF实现webservice时通过nginx反向代理动态生成的wsdl文件中 location中的地址和端口号丢失了,导致webservice调用失败。
原因
$host参数不包含端口号,导致请求头部Host中的端口号丢失,从而无法获取端口号。
$remote_addr:客户端的IP
解决
修改nginx配置nginx.conf(没有就加进去)
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
location ~*/portal {
proxy_redirect off;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
...
}