Hi chris,
> I use httpServletRequest.getServerPort() to get the port in my jsp.
> When the tomcat listen 8080 and nginx listen 80.
> Nginx has set ‘proxy_set_header Host $http_host’.
> What is the value of $http_host?
The $http_host is ‘externalIP:10001’ (I print it in access_log of nginx to
make sure that it is a correct valve.)
I use httpServletRequest.getHeader(“Host”) in java and it can print the
right value too. But as I know the getServerPort should print the number after
‘:’ of ‘Host’ Header.
So I don’t know what’s the wrong.
And today I found another similar situation.
The server has a Internet IP and Tomcat listening 8080 and nginx listening
81. So there are no port mapping.
At this time getServerPort() still return 80.
> Then the port 80 mapping to Internet via 10001.
> Use httpServletRequest.getHeader(“Host”) I can get the correct value of Host
> header �C “InternetIP:10001”.
> But httpServletRequest.getServerPort() did not return 10001 and return 80.
> How could I solve it?
> Btw, to set proxyPort in connector can not take effect. But proxyName work.
> Have you read about the RemoteIPValve?
The RemoteIPValve seems to be used for get the real client IP, but I just
need to get the correct port which client use to visit my website.
Forgive my poor English and I hope you can understand what I say. (^-^)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]