簡體   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