如何在glassfish上将所有HTTP请求重定向到HTTPS

时间:2017-02-13 16:12:44

标签: java amazon-web-services glassfish amazon

我已尝试将以下内容放在我的web.conf

<security-constraint>
    <web-resource-collection>
        <web-resource-name>SecureResource</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

但是当我发布时,我得到了一个&#34;太多的重定向&#34;在铬。

1 个答案:

答案 0 :(得分:1)

我假设您在AWS上的负载均衡器后面运行Glassfish,并且在负载均衡器处发生SSL终止。

您需要配置Glassfish以检查x-forwarded-proto标头,以确定客户端是通过HTTP还是HTTPS进行连接。您可以通过domain.xml文件中的scheme-mapping参数执行此操作:

<http default-virtual-server="server"
      max-connections="100"
      scheme-mapping="X-Forwarded-Proto">

或者,您可以在服务器上运行此命令以设置scheme-mapping值:

asadmin set server.network-config.protocols.protocol.http-listener-1.http.scheme-mapping=X-Forwarded-Proto