ฉันใช้พร็อกซีย้อนกลับเพื่อแสดงเนื้อหาเซิร์ฟเวอร์ส่วนหลังสำหรับโดเมนย่อย
subdomain.mydomain.com (เซิร์ฟเวอร์ A) ควรแสดงเนื้อหาของเซิร์ฟเวอร์ที่มี IP 123.123.123.123 พอร์ต 1111 (เซิร์ฟเวอร์ B)
โฮสต์เสมือนของ subdomain.mydomain.com (เซิร์ฟเวอร์ 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>
โฮสต์เสมือนของ 123.123.123.123:1111 (เซิร์ฟเวอร์ 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>
ถ้าฉันโหลด URL:
https://subdomain.mydomain.com/dir/
มันโหลดสำเร็จ
ถ้าฉันโหลด URL (โดยไม่มีเครื่องหมายทับ):
https://subdomain.mydomain.com/dir
ผลลัพธ์คือหน้าข้อผิดพลาด: ERR_CONNECTION_REFUSED
แก้ไข 1:
ฉันดำเนินการคำสั่ง:
curl -IL https://subdomain.mydomain.com/dir
และฉันได้รับผลลัพธ์นี้:
HTTP/1.1 301 ย้ายอย่างถาวร
วันที่: จันทร์ 23 ส.ค. 2564 13:45:13 GMT
เซิร์ฟเวอร์: อาปาเช่
การรักษาความปลอดภัยอย่างเข้มงวดในการขนส่ง: max-age=15768000; รวมโดเมนย่อย
การรักษาความปลอดภัยอย่างเข้มงวดในการขนส่ง: max-age=15768000; รวมโดเมนย่อย
ที่ตั้ง: https://subdomain.mydomain.com:1111/dir/
ประเภทเนื้อหา: text/html; ชุดอักขระ=iso-8859-1
curl: (7) ไม่สามารถเชื่อมต่อกับ subdomain.mydomain.com พอร์ต 1111: การเชื่อมต่อถูกปฏิเสธ
แก้ไข 2:
ฉันเพิ่มเครื่องหมายทับท้าย
<Location />
ProxyPass https://123.123.123.123:1111/
ProxyPassReverse https://123.123.123.123:1111/
</Location>
แต่ฉันยังคงได้รับ การเชื่อมต่อถูกปฏิเสธ ข้อผิดพลาด.
มีความคิดว่าเหตุใดจึงเกิดข้อผิดพลาดเมื่อไม่มีเครื่องหมายทับท้าย
ขอบคุณ!