Tomcat 管理器 GUI

Tomcat 管理器 GUI

http://example.com我有一個前面有一個負載平衡器的伺服器,名為https://example.net執行 SSL 卸載並將流量重定向到其上的連接埠 443 到http://example.com.

伺服器example.com被隔離在虛擬網路中,無法透過 Internet 存取。負載平衡器example.net可以到達example.com並公開暴露於互聯網。

如何將 Apache Tomcat 8 管理器 Web 介面設定為只能從 存取http://example.com/manager但不能從 存取https://example.net/manager

答案1

我不知道你正在使用什麼負載平衡器,所以無法給出具體的配置,我自己有一個透過 Nginx 作為代理的公共可存取 tomcat 伺服器。

nginx

upstream websites {
    server 192.168.x.x:8080 fail_timeout=0;
}

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com example.com;

    location / {
            proxy_pass http://websites/;
            include proxy_params;
    }

    #SSL configuration here
}

我還讓 Nginx 執行 SSL 終止和壓縮,因為它更容易管理和設置,如果我想稍後創建負載平衡,我也可以使用 Nginx 執行此操作,因此沒有理由在 Tomcat 中執行此操作。 https://www.digitalocean.com/community/tutorials/how-to-add-the-gzip-module-to-nginx-on-ubuntu-14-04

https://letscrypt.org/

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

如果尚未存在,則在 Tomcat server.xml 上為您的網站新增一個新的虛擬主機。

<Host name="www.example.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Alias>example.com</Alias>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="test_example_access_log" suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

比在管理器專案的manager.xml 檔案中,您可以設定誰可以存取管理器HTML 頁面,將其設定為您的公共IP 位址或跳轉主機,因為我記得標準只有localhost 可以連接到HTML管理器。

就我個人而言,我已從自己的安裝中刪除了管理器項目,以避免在管理不正確且我不需要它的情況下與其相關的安全問題。

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="192.168.1.*" />

在 tomcat-users.xml 中設定管理員的使用者和密碼,然後就可以開始了。

答案2

在 Web 伺服器中設定 Proxpass/Porxyalias。為此,您應該在 HTTP(80) 中進行配置,但最佳實踐是您可以在限制存取的情況下載入 https

相關內容