如果您的服务器在代理服务器后面运行,请确保已设置代理标头:
proxy_set_header X-Forwarded-Proto $scheme;
然后,为了正确scheme
起见,您可以使用springframework的类:
HttpRequest httpRequest = new ServletServerHttpRequest(request); //request is HttpServletRequest UriComponents uriComponents = UriComponentsBuilder.fromHttpRequest(httpRequest).build(); String scheme = uriComponents.getScheme(); // http/https
jonnybot.. 6
请参阅答案/sf/ask/17360801/,并注意有关作为反向代理或负载均衡器的问题.最有可能的是,这是你的问题.
该问题的回答者建议使用
request.getHeader("x-forwarded-proto")
相反,虽然这取决于您的负载均衡器正确设置标头.
请参阅答案/sf/ask/17360801/,并注意有关作为反向代理或负载均衡器的问题.最有可能的是,这是你的问题.
该问题的回答者建议使用
request.getHeader("x-forwarded-proto")
相反,虽然这取决于您的负载均衡器正确设置标头.
如果您的服务器在代理服务器后面运行,请确保已设置代理标头:
proxy_set_header X-Forwarded-Proto $scheme;
然后,为了正确scheme
起见,您可以使用springframework的类:
HttpRequest httpRequest = new ServletServerHttpRequest(request); //request is HttpServletRequest UriComponents uriComponents = UriComponentsBuilder.fromHttpRequest(httpRequest).build(); String scheme = uriComponents.getScheme(); // http/https