Właśnie wyśledziłem ten problem. Moje objawy były dokładnie takie same jak twoje, a nawet próbowałem dokładnie tych rzeczy, które próbowałeś. Podsumowując mój problem pojawił się tylko dlatego, że używałem tomcat na centos z SELinux.
Niektórzy ludzie pomogli mi zdiagnozować za pomocą następujących poleceń, aby sprawdzić zdarzenia związane z bezpieczeństwem i dlaczego niektóre działania nie były dozwolone:
sudo ausearch -m avc
sudo grep "tcp_socket" /var/log/audit/audit.log | audit2why // translates log into some human readable reasons why the audit record was generated
Widziałem wpisy takie jak:
A potem znalazłem ten artykuł o tomcat i SELinux https://noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74
Możesz uruchomić następujące polecenie, aby sprawdzić, czy tomcat działa w kontekście bezpieczeństwa tomcat_t.
$ps auxZ | grep tomcat
Aby naprawdę ustalić, czy mój błąd to SELinux, wyłączyłem SELinux
$ sestatus // shows: SELinux status: enabled
$ sudo vim /etc/selinux/config // set "SELINUX=disabled"
$ sudo shutdown -r now
$ sestatus // shows: SELinux status: disabled
zrestartowałem mój komputer i zobaczyłem, że tomcat nawiązuje teraz połączenie wychodzące.
Świetnie, teraz przynajmniej wiem, DLACZEGO tak się stało. Oczywiście jeśli potrzebujesz SELinux, wyłączenie go NIE JEST rozwiązaniem. Innym obejściem, które prawdopodobnie nie jest rozwiązaniem, jest zainstalowanie tomcat bez przechodzenia przez yum. Yum zainstaluje tomcat przy użyciu kontekstu bezpieczeństwa.
Myślę, że teraz należy zmienić kontekst bezpieczeństwa lub zestaw reguł rządzących tomcat, aby umożliwić mu nawiązywanie połączeń wychodzących.