[英]tomcat port URL restriction
我正在尝试配置tomcat,以便可以通过两个不同的端口(例如8080和8980)访问我的应用程序,但是某些URL仅可以通过8980访问。
原因是网络层使用8080,我不希望某些URL暴露给外界。 我也不想配置Web服务器来限制它,因为它在应用程序和Web层之间创建了耦合。
我了解我可以配置两个连接器,然后根据端口以编程方式阻止对URL的调用,但是:
是否可以在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.