Tôi sử dụng proxy ngược để hiển thị nội dung máy chủ phụ trợ cho tên miền phụ.
Tên miền phụ.mydomain.com (máy chủ A) sẽ hiển thị nội dung của máy chủ có IP 123.123.123.123 cổng 1111 (máy chủ B).
Máy chủ ảo của subdomain.mydomain.com (máy chủ A):
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName subdomain.mydomain.com
SSLEngine on
SecAuditEngine On
RewriteEngine On
SSLProxyEngine on
ProxyPreserveHost On
LogLevel warn
<Directory />
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Location />
ProxyPass https://123.123.123.123:1111
ProxyPassReverse https://123.123.123.123:1111
</Location>
ErrorLog /var/log/apache2/error.log
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLVerifyClient none
SSLVerifyDepth 1
SSLCertificateFile /etc/apache2/cert.site/chain_wildcard_site_combined.crt
SSLCertificateKeyFile /etc/apache2/cert.site/key_wildcard_site.key
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
Máy chủ ảo của 123.123.123.123:1111 (máy chủ B):
<IfModule mod_ssl.c>
<VirtualHost 123.123.123.123:1111>
DocumentRoot /srv/www/site/htdocs
SSLEngine on
RewriteEngine On
SSLProxyEngine on
ProxyPreserveHost On
LogLevel warn
<Location "/">
Require ip 222.222.222.222
</Location>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www/site/htdocs>
Options -Indexes +FollowSymLinks +MultiViews
DirectoryIndex index.php
AllowOverride None
Require all granted
</Directory>
ErrorLog /srv/www/site/log/error.log
CustomLog /srv/www/site/log/access.log combined
CustomLog /srv/www/site/log/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLVerifyClient none
SSLVerifyDepth 1
SSLCertificateFile /etc/apache2/cert.site/chain_wildcard_site_combined.crt
SSLCertificateKeyFile /etc/apache2/cert.site/key_wildcard_site.key
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
Nếu tôi tải URL:
https://subdomain.mydomain.com/dir/
nó tải thành công.
Nếu tôi tải URL (không có dấu gạch chéo):
https://subdomain.mydomain.com/dir
kết quả là trang lỗi: ERR_CONNECTION_REFUSED.
CHỈNH SỬA1:
Tôi thực hiện lệnh:
cuộn tròn -IL https://subdomain.mydomain.com/dir
và tôi nhận được kết quả này:
HTTP/1.1 301 được di chuyển vĩnh viễn
Ngày: Thứ Hai, ngày 23 tháng 8 năm 2021 13:45:13 GMT
Máy chủ: Apache
An ninh-Giao thông nghiêm ngặt: max-age=15768000; bao gồm tên miền phụ
An ninh-Giao thông nghiêm ngặt: max-age=15768000; bao gồm tên miền phụ
Vị trí: https://subdomain.mydomain.com:1111/dir/
Loại nội dung: văn bản/html; bộ ký tự = iso-8859-1
curl: (7) Không thể kết nối với tên miền phụ.mydomain.com cổng 1111: Kết nối bị từ chối
CHỈNH SỬA2:
Tôi đã thêm dấu gạch chéo
<Location />
ProxyPass https://123.123.123.123:1111/
ProxyPassReverse https://123.123.123.123:1111/
</Location>
Nhưng tôi vẫn nhận được Kết nối bị từ chối lỗi.
Bất kỳ ý tưởng tại sao nó dẫn đến lỗi, khi dấu gạch chéo bị thiếu?
Cảm ơn!