繁体   English   中英

Tomcat端口URL限制

[英]tomcat port URL restriction

我正在尝试配置tomcat,以便可以通过两个不同的端口(例如8080和8980)访问我的应用程序,但是某些URL仅可以通过8980访问。

原因是网络层使用8080,我不希望某些URL暴露给外界。 我也不想配置Web服务器来限制它,因为它在应用程序和Web层之间创建了耦合。

我了解我可以配置两个连接器,然后根据端口以编程方式阻止对URL的调用,但是:

  1. 我宁愿不对端口进行硬编码,因为将来可能会在server.xml中对其进行更改。
  2. 我希望在组织中的各种应用程序中都具有相同的行为,并且不希望所有开发人员都需要单独实施此行为。

是否可以在server.xml中定义的连接器中排除某些URL模式?

提前致谢!

在tomcat中,您可以使用不同的连接器端口和引擎设置定义多个服务,但是一个应用程序只能由一个引擎提供服务,因此您必须多次部署应用程序。

对于像您这样的用例,tomcat太有限了,但是此功能通常推迟到反向代理,例如apache或nginx。

例如,您可以让您的tomcat在端口8980上服务,并配置一个Apache来反向代理端口8080上的所有/ app调用,内部除外:

Listen 8080

<VirtualHost *:8080>
   ProxyPass /app/internal !
   ProxyPass /app http://localhost:8980/app
</VirtualHost>

参见http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM