我有一个在我们公司网络中运行的 Tomcat 实例。
目前用户可以通过输入机器名称来访问它:
http://machine:8080
或使用完全限定名称:(
http://machine.company.com:8080
这只能在内部访问)
但是,我希望他们只使用全名。有没有办法在 tomcat(可能在 server.xml 或 conf.xml 中的某处)中强制进行全局 301 重定向,通过短名称访问的任何资源都将转发(301)到长名称?
我不喜欢这样的全局配置的东西,但你可以在 Tomcat 中全局配置过滤器conf/web.xml
。您可以为这种特定情况编写自己的过滤器,或使用 url-rewrite (http://www.tukey.org/urlrewrite/) 为您完成。在任何一种情况下,您都必须将您的代码(lr url-rewrite 库)放在 Tomcat 的lib
目录中(yuck)或修改 catalina.properties 以重新引入“通用”类加载器并将您的代码(或库)放在那里(也很糟糕)。
如果您只部署了一个 Web 应用程序,那么您可以在一个 Web 应用程序中配置所有这些,而不必为上述所有“恶心”而烦恼。
此外,如果您在 Tomcat 前面有一个 Web 服务器(例如,Apache httpd),那么您当然可以在那个级别上做这种事情。