Apache 在单个tomcat实例上混合使用https和http

Apache 在单个tomcat实例上混合使用https和http,apache,tomcat,protocols,server.xml,Apache,Tomcat,Protocols,Server.xml,我有一个通常使用https的应用程序。Tomcat在端口8443上侦听: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

我有一个通常使用https的应用程序。Tomcat在端口8443上侦听:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keyAlias="MY_ALLIAS" keystoreFile="PATH_TO_MY_KEY"
           keystorePass="MY_PASWORD" />

Apache侦听80并重定向到8443:

<VirtualHost *:80>
        ServerAdmin MY_EMAIL_ADDRESS
        ServerName localhost
        ServerAlias localhost
        ProxyPass / http://localhost:8443/
        ProxyPassReverse / http://localhost:8443/
        DocumentRoot /var/www/html

服务器管理员我的电子邮件地址
服务器名本地主机
服务器别名本地主机
ProxyPass/http://localhost:8443/
ProxyPassReverse/http://localhost:8443/
DocumentRoot/var/www/html
最后,在web.xml中,我添加了:

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

我的网站资源名称
/欢迎光临
保密的
不幸的是,我不得不将带有http站点的IFRAME添加到我的一个网站中。那里的安全不是问题。我的问题是Tomcat配置。我想我会用Apache发送流量。但现在我的问题是如何设置Tomcat,这样我就可以为该站点提供服务,而所有其他站点都将在其上提供服务?我尝试删除redirectPort=“8443”,但这还不够。我使用的是Tomcat9.0.0.M4(如果需要的话,迁移到Tomcat8不是问题)。
请帮忙

要解决此问题,请在web.xml中再添加一个
标记,如下所示:

<security-constraint>
<web-resource-collection>
<web-resource-name>Unsecured resources</web-resource-name>
<url-pattern>/siteA</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint> `

无担保资源
/斯泰亚
没有一个
`

由于您已将传输保证设置为无,tomcat将不会验证其是否为安全资源。通过这种方式,此
将有助于通过http访问您的
站点A
,您已经声明的其他
标记将有助于您通过
https
访问您的其他站点。请记住,在
标记中,为您希望保留为http或https的页面提供路径。如果这能解决您的问题,请告诉我:)。

不客气,乐意帮助:)