Puerto 443 del servidor web Apache y puerto 8080 de Tomcat, la redirección no funciona

Puerto 443 del servidor web Apache y puerto 8080 de Tomcat, la redirección no funciona

Tengo una aplicación web Java en CentOS en Google Cloud. Puedo acceder a mi aplicación web con http://mydomain:8080. Deseo https://mydomain(sin 8080la URL) dirigirme a la aplicación, pero en su lugar, solo aparece la página de Apache "123 test". Sé que necesito realizar una redirección de proxy, pero estoy teniendo problemas con eso. Necesito que ese puerto 443redireccione a Tomcat 8080.

Probé esta etiqueta interna <VirtualHost>:

1.

ProxyPass / http://www.mydomain.zone:8080
ProxyPassReverse / http://www.mydomain.zone:8080
ProxyPass "/" "http://www.mydomain.zone:8080"
ProxyPassReverse "/" "http://www.mydomain.zone:8080"
ProxyPass / https://www.mydomain.zone:8443
ProxyPassReverse / https://www.mydomain.zone:8443
ProxyPass "/" "https://www.mydomain.zone:8443"
ProxyPassReverse "/" "https://www.mydomain.zone:8443"

También en el archivo de configuración, siempre encima de esas líneas probadas, pero dentro de la etiqueta Virtual Host tengo:

 ProxyRequests On
 ProxyPreserveHost On
 <Proxy *>
    Order allow,deny
     Allow from all
 </Proxy>

Después de cada intento, haría este comando:systemctl restart httpd

Además, no sé qué archivo necesito para escribir estas líneas. Hay conf/httpd.conf conf/httpd-le-ssl.confy en una carpeta diferente conf.d/ssl.conf.

Módulos deconf.modules.d/00-proxy.conf

# This file configures all the proxy modules:
LoadModule proxy_module modules/mod_proxy.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

gatoserver.xml

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
        maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
        keystoreFile="/tmp/mydomain.zone.jks"
        keystorePass="pass"
        clientAuth="false" sslProtocol="TLS" />

Me preguntaba si había alguna iptablesregla que implementé antes, pero no parece, las eliminé. Estas son las reglas activas actuales iptables:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N FORWARD_IN_ZONES
-N FORWARD_IN_ZONES_SOURCE
-N FORWARD_OUT_ZONES
-N FORWARD_OUT_ZONES_SOURCE
-N FORWARD_direct
-N FWDI_trusted
-N FWDI_trusted_allow
-N FWDI_trusted_deny
-N FWDI_trusted_log
-N FWDO_trusted
-N FWDO_trusted_allow
-N FWDO_trusted_deny
-N FWDO_trusted_log
-N INPUT_ZONES
-N INPUT_ZONES_SOURCE
-N INPUT_direct
-N IN_trusted
-N IN_trusted_allow
-N IN_trusted_deny
-N IN_trusted_log
-N OUTPUT_direct
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct
-A INPUT -j INPUT_ZONES_SOURCE
-A INPUT -j INPUT_ZONES
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j FORWARD_direct
-A FORWARD -j FORWARD_IN_ZONES_SOURCE
-A FORWARD -j FORWARD_IN_ZONES
-A FORWARD -j FORWARD_OUT_ZONES_SOURCE
-A FORWARD -j FORWARD_OUT_ZONES
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -j OUTPUT_direct
-A FORWARD_IN_ZONES -i eth0 -g FWDI_trusted
-A FORWARD_IN_ZONES -g FWDI_trusted
-A FORWARD_OUT_ZONES -o eth0 -g FWDO_trusted
-A FORWARD_OUT_ZONES -g FWDO_trusted
-A FWDI_trusted -j FWDI_trusted_log
-A FWDI_trusted -j FWDI_trusted_deny
-A FWDI_trusted -j FWDI_trusted_allow
-A FWDI_trusted -j ACCEPT
-A FWDO_trusted -j FWDO_trusted_log
-A FWDO_trusted -j FWDO_trusted_deny
-A FWDO_trusted -j FWDO_trusted_allow
-A FWDO_trusted -j ACCEPT
-A INPUT_ZONES -i eth0 -g IN_trusted
-A INPUT_ZONES -g IN_trusted
-A IN_trusted -j IN_trusted_log
-A IN_trusted -j IN_trusted_deny
-A IN_trusted -j IN_trusted_allow
-A IN_trusted -j ACCEPT

Respuesta1

Tuve 2 problemas que ocurrieron y el problema no estaba relacionado con las reglas de proxy, las escribí correctamente.

Encontré la solución para el primer problema aquí:http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

Aparentemente, SELinux no permitía que httpd no pudiera iniciar conexiones salientes. Necesitaba permitirlo: /usr/sbin/setsebool -P httpd_can_network_connect 1

El segundo problema fue que mi Tomcat usó demasiada memoria RAM porque configuro SSL en server.xml, pero SSL ya está habilitado en mi Apache. Cuando comenté eso, Tomcat redujo su consumo de RAM.

información relacionada