如何重定向端口并使用子域?

如何重定向端口并使用子域?

我知道我的问题已经被描述过(请参阅如何将子域名重定向到同一台服务器上的不同端口?例如)但由于我无法让它在我这边工作,所以我再次寻求帮助。

我正在运行一个 Apache 服务器。我可以通过子域访问此服务器上运行的所有不同的 Web 软件。
例如:
https://nextcloud.my_domain.fr
https://roundcube.my_domain.fr
...

在我的 ISP 提供商方面,我有以下内容:

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

我说的是“所有”软件,但事实并非如此。我无法对想要重定向到特定端口的子域执行相同操作。例如,Subsonic 需要端口 4040。我可以使用
https://my_domain.fr/subsonic访问 Subsonic
,但不能使用
https://subsonic.my_domain.fr

我可以删除字段中的 4040 端口,这总比没有好,但我想要更多:)

我对 filebrowser (端口 8082)、guacamole (端口 8080) 等也遇到了同样的问题...

为了删除地址字段中的端口,我在目录 /etc/httpd/conf/sites.d 中有以下配置文件:

文件 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

文件 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>

文件 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>

文件 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>

文件 nextcloud.conf(无需端口重定向):

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

我能做到的“最好”的(我不记得怎么做到了)是让 subsonic 主页同时出现在 https://subsonic.my_domain.fr 上https://my_domain.fr

有人知道如何使子域名 + 端口重定向一起工作吗?请注意,我有几个子域名,所以我的目标是能够使用 nextcloud.my_domain.fr、subsonic.my_domain.fr、guacamole.my_domain.fr、...

问候。

禱。

答案1

抱歉,但我没看到有答案。我会看看“如何从我的 Web 服务器转发请求?”。

问候。

禱。

相关内容