Jeg har også lige sporet dette problem. Mine symptomer var nøjagtig de samme som dine, og jeg prøvede endda præcis de ting, du prøvede. Sammenfattende opstod mit problem kun, fordi jeg brugte tomcat på centos med SELinux.
Nogle mennesker hjalp mig med at diagnosticere ved at bruge følgende kommandoer til at se på sikkerhedshændelser, og hvorfor nogle handlinger ikke var tilladt:
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
Jeg så indlæg som:
Og så fandt denne artikel om tomcat og SELinux https://noobient.com/post/165972214381/selinux-woes-with-tomcat-on-centos-74
Du kan køre følgende kommando for at se, om tomcat kører i tomcat_t sikkerhedskonteksten.
$ps auxZ | grep tomcat
For virkelig at afgøre, om min fejl var SELinux, deaktiverede jeg SELinux
$ sestatus // shows: SELinux status: enabled
$ sudo vim /etc/selinux/config // set "SELINUX=disabled"
$ sudo shutdown -r now
$ sestatus // shows: SELinux status: disabled
genstartede min maskine og så, at tomcat nu lavede den udgående forbindelse.
Godt, nu ved jeg i det mindste HVORFOR det skete. Hvis du har brug for SELinux, er det selvfølgelig IKKE en løsning at deaktivere det. En anden løsning, som sandsynligvis ikke er en løsning, er at installere tomcat uden at gå igennem yum. Yum vil installere tomcat ved hjælp af sikkerhedskonteksten.
Jeg tror, at handlingsforløbet nu er at ændre sikkerhedskonteksten eller sættet af regler, der styrer tomcat for at tillade den at oprette udgående forbindelser.