如何配置Tomcat重写后跳转?

Tomcat

1 前言

一个问题,一篇文章,一出故事。
笔者遇到服务迁移需要使用Tomcat实现跳转,即实现用户访问老服务器会自动跳到新服务器。
另外,如果你不熟悉Tomcat的环境,你可以参阅如下部署章节,

如何基于RHEL 9.x部署TomCat之二?

2 最佳实践

1.1 启用全局重写

vim /usr/tomcat/apache-tomcat-8.5.81/conf/context.xml

加入如下配置,

<Context>
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve"/>
</Context>

1.2 配置全局重写规则

vim /usr/tomcat/apache-tomcat-8.5.81/webapps/ROOT/WEB-INF/rewrite.config

加入如下配置,

RewriteRule ^/cmdschool/(.*)  https://www.cmdschool.org/$1 [R,NE]

规则创建后,你需要重启服务使配置生效,

systemctl restart tomcat

参阅文档
=======================
https://github.com/aurelius0523/tomcat-url-rewrite
https://tomcat.apache.org/tomcat-9.0-doc/rewrite.html
https://rmannibucau.metawerx.net/post/tomcat-rewrite-url
https://stackoverflow.com/questions/28767585/tomcat-8-url-rewrite
https://stackoverflow.com/questions/26932253/tomcat-8-0-rewrite-valve

没有评论

发表回复

Tomcat
如何用JSSE配置Tomcat 9 HTTPS?

1 前言 一个问题,一篇文章,一出故事。 笔者需要在Tomcat生产环境启用Tomcat的HTTPS …

Tomcat
如何用OpenSSL SSL/TLS配置Tomcat 9 HTTPS?

1 前言 一个问题,一篇文章,一出故事。 笔者需要在Tomcat生产环境启用Tomcat的HTTPS …

Tomcat
如何编译安装Tomcat的Native库?

1 基础知识 Tomcat的Native库允许Tomcat使用OpenSSL作为JSSE的替代品来支 …