私の問題はすでに説明されていることを知っています(サブドメインを同じサーバー上の別のポートにリダイレクトするにはどうすればよいですか?たとえば、私の側ではうまく動作しないので、再度助けを求めます。
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>
私が達成できた「最善」のことは(方法は覚えていないが)、https://subsonic.my_domain.frの両方にsubsonicのメインページを表示することだった。そしてhttps://my_domain.fr
サブドメインとポート リダイレクトを連携させる方法をご存知の方はいませんか? サブドメインが複数あるので、nextcloud.my_domain.fr、subsonic.my_domain.fr、guacamole.my_domain.fr などを使用できるようにすることが目標です。
よろしくお願いいたします。
徐。
答え1
申し訳ありませんが、回答が見つかりませんでした。「Web サーバーからリクエストを転送するにはどうすればよいですか?」を調べてみます。
よろしくお願いいたします。
徐。