首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将tomcat (作为Spring tcServer)重定向到不同的端口

将tomcat (作为Spring tcServer)重定向到不同的端口
EN

Stack Overflow用户
提问于 2011-09-17 02:51:25
回答 2查看 1.5K关注 0票数 1

我想做一些类似于SSL重定向的事情,但略有不同。

我有一个负载均衡器配置为侦听端口80 (HTTP)和443 (HTTPS)。

负载均衡器不能做任何SSL重定向,因为如果它做了,我的生活就太简单了(它是Amazon的弹性负载均衡器,btw)。

我让Tomcat (tcServer)监听两个端口: 80和81 (都是超文本传输协议)。

LB上的端口80会将您带到tomcat上的端口80。LB上的端口443会将您带到tomcat上的端口81 (相同的web应用程序)。

我想让tomcat上的80端口把你送回负载均衡器上的443。

所有这些都不需要接触已部署的webapp。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2011-09-17 05:35:15

一种解决办法:创建一个简单的web项目,它不包含任何页面,只包含404错误的简单错误页面,该页面将每个请求重定向到负载均衡器的绝对URL (使用https://链接)。然后将Tomcat配置为在端口80上使用此应用程序(即部署为ROOT.war),并在端口81上为原始应用程序提供服务。

票数 0
EN

Stack Overflow用户

发布于 2011-09-18 12:12:33

显然,我对此考虑过度了(好吧,我是基于我正在阅读的一些论坛而被引导到这一点的)。无论如何,以下是有效的方法(并且正在发挥作用--我们正在生产中)。

  1. 获取Tuckey的URLRewrite过滤器,并首先将其添加到您的web.xml on /*

中,然后将状态添加到/WEB-INF/,并在您的应用程序上(从https://.... )添加一个默认的urlrewrite.xml /rewrite-status,以确保它正在运行一条规则,该规则将查找亚马逊的X-Forwarded-Proto头并确保它的值等于“HTTPS值”;如果不是,则将其转发回HTTPS

你就完了。最终的配置如下所示:

/WEB-INF/web.xml

代码语言:javascript
复制
<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

/WEB-INF/urlrewrite.xml

代码语言:javascript
复制
<rule match-type="regex">
    <condition type="header" operator="notequal" name="X-Forwarded-Proto">^HTTPS$</condition>
    <from>^.*$</from>
    <to type="permanent-redirect" last="true">https://%{server-name}%{request-uri}</to>
</rule>

为此,您只需要在一个端口上运行tomcat。关于如何启用URLRewrite,您有两种选择。

  1. 你可以直接在你的WAR中包含urlrewrite.xml,它会自动工作。在这种情况下,您需要为您的开发环境添加一个禁用它的规则(您可以在port=" 80“上添加额外的条件,以便仅当侦听端口80时才启用重写,这是生产端口,而开发可能在8080上)。
  2. 您可以将URLRewrite添加到Tomcat lib目录,并将过滤器添加到Tomcat的主web.xml。这样做的好处是你不必修改你的应用程序就可以做到这一点。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7449125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档