포트를 리디렉션하고 하위 도메인을 사용하는 방법은 무엇입니까?

포트를 리디렉션하고 하위 도메인을 사용하는 방법은 무엇입니까?

나는 내 문제가 이미 설명되었음을 알고 있습니다(참조하위 도메인을 동일한 서버의 다른 포트로 어떻게 리디렉션합니까?예) 그런데 제가 해줄 수가 없어서 다시 한 번 도움을 요청합니다.

Apache 서버가 실행 중입니다. 하위 도메인을 통해 이 서버에서 실행되는 다양한 웹 소프트웨어에 액세스할 수 있습니다.
예 :
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을 제거할 수 있습니다. 없는 것보다는 낫지만 더 많은 포트를 원합니다. :)

파일 브라우저(포트 8082), 과카몰리(포트 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>

내가 달성할 수 있는 "최고"(어떻게 방법은 기억나지 않음)는 https://subsonic.my_domain.fr 두 곳 모두에서 아음속 메인 페이지를 얻는 것이었습니다.그리고https://my_domain.fr

하위 도메인 + 포트 리디렉션을 함께 작동시키는 방법을 아는 사람이 있습니까? 여러 하위 도메인이 있으므로 내 목표는 nextcloud.my_domain.fr, subsonic.my_domain.fr, guacamole.my_domain.fr 등을 사용할 수 있는 것입니다.

문안 인사.

슈오.

답변1

죄송하지만 답변이 있는 것을 보지 못했습니다. "웹 서버에서 요청을 어떻게 전달할 수 있나요?"를 살펴보겠습니다.

문안 인사.

슈오.

관련 정보