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: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org