[英]Tomcat: Two different wars operate on different ports
我有兩個不同的 API。 它們每個都有自己的 .war 文件,並且都在同一個 tomcat 實例上運行。
奇怪的是,我可以通過如下請求訪問一個 API:https://(ip-address):443/(path1)
但另一個只對此作出回應:http://(ip-address):8090/(path2)
同樣復雜的是,當我將第二次戰爭部署到另一台服務器上的某個其他 tomcat 實例時,它將響應 https 443 請求。
知道這怎么可能嗎?
這很奇怪,因為在不同的時間,無論是戰爭還是 tomcat 都按預期工作(通過使用 https),所以不清楚是責怪戰爭還是 tomcat。
應用程序可以聲明它們需要機密連接 (HTTPS)。 查看里面的WEB-INF/web.xml。
因此,其中一個應用程序可能會同時使用兩者,因為沒有定義約束,另一個可能只是響應 https,因為容器負責確保安全通信。 聽到其中一個應用程序僅響應 http,我會更加驚訝。
來自https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Introduction :一個或多個這樣的連接器可以配置為單個服務的一部分,每個轉發到關聯的引擎以執行請求處理並創建響應。
檢查您的 server.xml 是否有多個帶有 http 和 https 連接器的服務映射到不同的引擎,以及應用程序是否分布在這些不同的引擎上。 這可以解釋一個應用程序僅響應 http,而另一個應用程序僅響應 https。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.