JHipster Nginx HTTPS此页面正在尝试从未经身份验证的源加载脚本

时间:2018-04-16 08:38:21

标签: nginx https jhipster

为了简化我的故事,这里显示错误消息(在chrome控制台中):

  

混合内容:“https://example.com/#/”页面是通过HTTPS加载的,但是请求了一个不安全的XMLHttpRequest端点“http://example.com/login”。此请求已被阻止;内容必须通过HTTPS提供。

如果单击安全图标(在铬地址栏中),您会看到此消息: Chrome security alert

为了进一步调查,我注意到,在页面加载事件中,我们确实有/api/account安全端点的请求,并且由于首次访问者通常不会通过身份验证,因此此请求将被重定向到{{ 1}}路径(在某个地方?)。但是通过HTTP而不是HTTPS,在我的情况下这将是欲望行为。

我怀疑这是因为我在反向代理后面使用我的JHipster应用程序而我的反向代理负责通过HTTPS提供请求。换句话说,我的JHipster应用程序不知道我们正在使用HTTPS。

我也尝试调试我的客户端代码以查看是否可以覆盖此行为,但我注意到此重定向不是从/loginauth-expired.interceptor.ts触发的。

更可能这种重定向是从我的服务器端代码发生的,也许可以通过更改spring安全配置来覆盖?

谢谢JHipsters! : - )

1 个答案:

答案 0 :(得分:3)

server.use-forward-headers: true中设置application.yml。确保您的代理服务器还配置为添加X-Forwarded-ForX-Forwarded-Proto标头。对于Nginx,您可以在proxy_set_header X-Forwarded-Proto $scheme;部分添加location。这将修复从代理标头构建的302重定向。

Spring Boot docs for running behind a proxy server中对此进行了描述,还有一个相关的Github issue