当X-Forwarded-Proto为https时,重定向位置包括“:80”

时间:2015-12-23 20:06:39

标签: grails nginx asset-pipeline grails-3.0

Nginx为我们的应用终止SSL,Nginx和应用服务器之间的通信发生在端口8080上,我们的应用在配置中没有设置grails.serverURL

我们有定期重定向:

redirect uri: '/login'

但是当通过HTTPS访问时,重定向返回:

Location: https://domain.com:80/login

因此,浏览器尝试通过端口80打开SSL连接并失败。

2 个答案:

答案 0 :(得分:3)

X-Forwarded-Proto删除nginx.conf标题或添加X-Forwarded-Port推荐)解决了此问题。

答案 1 :(得分:0)

添加以下任何一项对我都有效:

proxy_set_header X-Forwarded-Port $server_port;

proxy_set_header X-Forwarded-Host $host:$server_port;