Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat SSL重定向仅适用于外部IP_Java_Tomcat_Ssl_Redirect - Fatal编程技术网

Java Tomcat SSL重定向仅适用于外部IP

Java Tomcat SSL重定向仅适用于外部IP,java,tomcat,ssl,redirect,Java,Tomcat,Ssl,Redirect,我无法正确设置tomcat重定向。我正在尝试为一个webapp设置tomcat,目前我有它,所以所有对端口8080的请求都被重定向到8443上的SSL端口。这对任何外部连接的人都很有效。它也适用于任何内部连接的人,只要他们使用域名而不是本地IP 问题是,我有一些实用程序需要通过LAN连接到此webapp。目前,他们都是通过与localIP:8080通信来实现这一目标的。当tomcat重定向发生时,它们被重定向到并遇到无效证书问题 我想知道是否有可能将来自外部IP的所有请求重定向到SSL,并允许L

我无法正确设置tomcat重定向。我正在尝试为一个webapp设置tomcat,目前我有它,所以所有对端口8080的请求都被重定向到8443上的SSL端口。这对任何外部连接的人都很有效。它也适用于任何内部连接的人,只要他们使用域名而不是本地IP

问题是,我有一些实用程序需要通过LAN连接到此webapp。目前,他们都是通过与localIP:8080通信来实现这一目标的。当tomcat重定向发生时,它们被重定向到并遇到无效证书问题

我想知道是否有可能将来自外部IP的所有请求重定向到SSL,并允许LAN IP连接到非SSL端口8080

server.xml

<Connector port="8080" protocol="HTTP/1.1"
           address="0.0.0.0"
               connectionTimeout="20000"
               redirectPort="8443" />

web.xml

<security-constraint>
    <web-resource-collection>
        <web-resource-name>App_nmae</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>

    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

应用程序
/*
收到
邮递
保密的
有几个想法:

  • 始终为服务使用正确的主机名,并像往常一样允许TLS。这将是国际海事组织的最佳做法
  • 修复客户端,因为您拥有完全的控制权。只要证书(否则)有效,就让他们忽略主机名不匹配。这有点像黑客,但应该很容易做到
  • 设置一个额外的连接器,通过hand wavy magic修复所有问题,并将“受信任”的应用程序指向
    http://localIP:8081

  • 现在,限制对该端口的访问非常重要。最好的方法可能是使用防火墙,但您可以通过在配置中添加防火墙来提高安全性