¿Cómo redirigir un puerto y utilizar un subdominio?

¿Cómo redirigir un puerto y utilizar un subdominio?

Sé que mi problema ya ha sido descrito (ver¿Cómo redirijo subdominios a un puerto diferente en el mismo servidor?por ejemplo) pero como no puedo hacerlo funcionar por mi parte, pido ayuda nuevamente.

Tengo un servidor Apache ejecutándose. Puedo acceder a todos los diferentes softwares web que se ejecutan en este servidor a través de subdominios.
Ej:
https://nextcloud.mi_dominio.fr
https://roundcube.mi_dominio.fr
...

Del lado de mi proveedor ISP, tengo lo siguiente:

nextcloud   A   10800   xx.xx.xx.xx
subsonic    A   10800   xx.xx.xx.xx

Dije "todos" los softwares pero esto no es cierto. No puedo hacer lo mismo con los subdominios que quiero redirigir a puertos específicos. Por ejemplo, subsonic necesita el puerto 4040. Puedo acceder a subsonic con:
https://my_domain.fr/subsonic
pero no con:
https://subsonic.my_domain.fr

Puedo eliminar el puerto 4040 en el campo, esto es mejor que nada, pero quiero más :)

Tengo el mismo problema con el navegador de archivos (puerto 8082), guacamole (puerto 8080),...

Para eliminar el puerto en el campo de dirección, tengo los siguientes archivos de configuración en el directorio /etc/httpd/conf/sites.d :

Archivo 00_default_vhosts.conf:

<VirtualHost *:80>
   ServerName my_domain.fr
   ServerAdmin xuo@my_domain.fr
   RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

RewriteEngine On

Archivo 00_default_ssl_vhost.conf

<VirtualHost *:443>
    # general configuration
    ServerAdmin xuo@my_domain.fr
    ServerName my_domain.fr

    # SSL configuration
    SSLEngine on
    SSLCertificateFile /etc/certificates/server.crt
    SSLCertificateKeyFile /etc/certificates/server.pem
    SSLProtocol             all -SSLv2 -SSLv3
    SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    SSLHonorCipherOrder     on
    AllowEncodedSlashes NoDecode

    CustomLog logs/ssl_request_log \
    "%V %t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    <IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    </IfModule>

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^([^\.]+)\.my_domain\.fr
    RewriteCond /var/www/html/%1 -l
    RewriteRule ^(.*) /%1/$1 [L]

</VirtualHost>

Archivo guacamole.conf:

<IfModule mod_proxy_http.c>
    <Location /guacamole/>
    Order allow,deny
    Allow from all
    ProxyPass http://192.168.0.14:8080/guacamole/ flushpackets=on
    ProxyPassReverse http://192.168.0.14:8080/guacamole/
    </Location>

    <Location /guacamole/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://192.168.0.14:8080/guacamole/websocket-tunnel
    ProxyPassReverse ws://192.168.0.14:8080/guacamole/websocket-tunnel
    </Location>
</IfModule>

Archivo subsonic.conf:

<IfModule mod_proxy_http.c>
    SSLProxyEngine on
    ProxyRequests Off
    ProxyPreserveHost On
    RequestHeader unset Accept-Encoding
    <Proxy http://192.168.0.14:4040/subsonic/>
    Order allow,deny
    Allow from all
    </Proxy>
    ProxyPass /subsonic/ http://192.168.0.14:4040/subsonic/
    ProxyPassReverse /subsonic/ http://192.168.0.14:4040/subsonic/
</IfModule>

Archivo nextcloud.conf (no es necesario redirigir el puerto):

Alias /nextcloud /var/www/html/nextcloud
<Directory /var/www/html/nextcloud>
    Options +FollowSymlinks
    AllowOverride All
</Directory>

Lo "mejor" que pude lograr (y no recuerdo cómo) fue obtener la página principal subsónica en ambos https://subsonic.my_domain.frYhttps://mi_dominio.fr

¿Alguien sabe cómo hacer que el subdominio + la redirección de puertos funcionen juntos? Tenga en cuenta que tengo varios subdominios, por lo que mi objetivo es poder utilizar nextcloud.my_domain.fr, subsonic.my_domain.fr, guacamole.my_domain.fr, ...

Saludos.

Xuo.

Respuesta1

Lo siento, pero no vi que tuviera algunas respuestas. Echaré un vistazo a "¿Cómo puedo reenviar solicitudes desde mi servidor web?".

Saludos.

Xuo.

información relacionada