Zainstalowałem tomcat 9 na zdalnym serwerze i po uruchomieniu go uruchomiłem dobrze, mam dostęp do http: // nazwa_hosta: port_num i zobacz stronę hello tomcat. Ale kiedy próbuję otworzyć aplikację menedżera, aby zobaczyć moje wdrożone aplikacje, otrzymuję odmowę dostępu 403, już dodaję role w tomcat użytkownika xml w następujący sposób:
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>
Komunikaty o błędach, które widziałem, to:
Domyślnie Menedżer hosta jest dostępny tylko z przeglądarki uruchomionej na tym samym komputerze, co Tomcat. Jeśli chcesz zmienić to ograniczenie, musisz edytować plik context.xml menedżera hosta.
Jak zmienić plik context.xml i uzyskać dostęp do aplikacji menedżera?
W przypadku Tomcat w wersji 8.5.4 i nowszych plik
<tomcat>/webapps/manager/META-INF/context.xml
został dostosowany:Zmień ten plik, aby skomentować
Valve
:Następnie odśwież przeglądarkę (nie musisz ponownie uruchamiać Tomcata), zobaczysz stronę menedżera.
źródło
context.xml
plików. Instrukcje na domyślnej stronie błędu Tomcata dotyczące edytowania pliku context.xml Menedżera mogą być wyraźniej określone jako edycja pliku context.xml w katalogu aplikacji Manager.Aby uzyskać dostęp do menedżera tomcat z innej maszyny, musisz wykonać poniższe czynności:
1. Zaktualizuj plik conf / tomcat-users.xml o użytkownika i niektóre role :
Tutaj administrator przypisuje role = "menedżer-gui, skrypt-menedżera, menedżer-jmx, status-menedżera" .
Tutaj użytkownik i hasło tomcat to: admin
2. Zaktualizuj plik webapps / manager / META-INF / context.xml (zezwalanie na adres IP) :
Konfiguracja domyślna :
Tutaj w Valve zezwala tylko na adres IP maszyn lokalnych zaczynający się od 127. \ d +. \ D +. \ D + .
2.a: Zezwalaj na określony adres IP :
Tutaj wystarczy zamienić | TWÓJ.ADRES.IP.TUTAJ na swój adres IP
2.b: Zezwalaj na wszystkie adresy IP :
Tutaj, używając allow = ". *" Zezwalasz na wszystkie adresy IP.
Dzięki :)
źródło
YOUR.IP.ADDRESS.HERE
- a więc naprawdę odpowiada na pytanie, aby uzyskać dostęp do aplikacji z menedżera z innego hosta, nie tylko z dowolnego miejsca w Internecie. IMHO powinna to być raczej akceptowana odpowiedź. Propozycja ulepszeń: przesuń 2.a na górę, opcjonalnie dodaj sugestię @ ThomasLIMIN.źródło