ขณะนี้ฉันกำลังพยายามสร้าง vhost เริ่มต้นสำหรับ HTTPS เพื่อบล็อกทราฟฟิกจากโดเมนที่ไม่ได้รับอนุญาต อย่างไรก็ตาม เมื่อฉันกำหนดค่าเริ่มต้นเป็น 443 vhost แล้ว HTTPS vhosts อื่นๆ ทั้งหมดจะสืบทอดสิ่งนี้เช่นกันและป้องกันการเข้าถึงตามปกติ ฉันเกาหัวมาหลายชั่วโมงแล้วเกี่ยวกับเรื่องนี้...
ข้อมูลอาปาเช่:
ระบบปฏิบัติการ: เซิร์ฟเวอร์อูบุนตู 20.04
เวอร์ชันเซิร์ฟเวอร์: Apache/2.4.41 (Ubuntu)
เซิร์ฟเวอร์ที่สร้างขึ้น: 2022-03-16T16:52:53
นี่คือไฟล์ vhosts เริ่มต้นของฉัน:
<VirtualHost _default_:80>
ServerName default
Alias /error/ /var/www/redirects/
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 402 /error/402.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 408 /error/408.html
ErrorDocument 503 /error/maintenance.html
<Location />
Require all denied
</Location>
</VirtualHost>
<VirtualHost _default_:443>
ServerName default
Alias /error/ /var/www/redirects/
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 402 /error/402.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 408 /error/408.html
ErrorDocument 503 /error/maintenance.html
<Location />
Require all denied
</Location>
</VirtualHost>
และส่วนที่เหลืออยู่ในไฟล์ปรับแต่งแยกต่างหากและเปิดใช้งานโดยใช้ sudo a2ensite mydomain.com.conf
นี่คือหนึ่งในการกำหนดค่าเหล่านั้น:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName mydomain.com
ServerAlias mydomain.com
Alias /error/ /var/www/redirects/
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 402 /error/402.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 408 /error/408.html
ErrorDocument 503 /error/maintenance.html
DocumentRoot /var/www/html/mydomain.com/public
<Directory /var/www/html/mydomain.com/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/www/html/mydomain.com/logs/error.log
CustomLog /var/www/html/mydomain.com/logs/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
</VirtualHost>
</IfModule>
ข้อมูลเพิ่มเติมเพื่อช่วย:
sudo apachectl -S
การกำหนดค่า VirtualHost:
*:443 เป็น NameVirtualHost
ค่าเริ่มต้นของเซิร์ฟเวอร์เริ่มต้น (/etc/apache2/sites-enabled/000-default.conf:22)
พอร์ต 443 namevhost เริ่มต้น (/etc/apache2/sites-enabled/000-default.conf:22)
พอร์ต 443 namevhost example.com1 (/etc/apache2/sites-enabled/example.com1-le-ssl.conf:2)
พอร์ต 443 namevhost example.com2 (/etc/apache2/sites-enabled/example.com2.conf:18)
พอร์ต 443 namevhost example.com3 (/etc/apache2/sites-enabled/example.com3-le-ssl.conf:2)
นามแฝง example.com3
พอร์ต 443 namevhost example.com4 (/etc/apache2/sites-enabled/example.com4-le-ssl.conf:2)
พอร์ต 443 namevhost example.com5 (/etc/apache2/sites-enabled/example.com5-le-ssl.conf:2)
พอร์ต 443 namevhost example.com6 (/etc/apache2/sites-enabled/example.com6-le-ssl.conf:2)
*:80 เป็น NameVirtualHost
ค่าเริ่มต้นของเซิร์ฟเวอร์เริ่มต้น (/etc/apache2/sites-enabled/000-default.conf:1)
พอร์ต 80 namevhost เริ่มต้น (/etc/apache2/sites-enabled/000-default.conf:1)
พอร์ต 80 namevhost example.com1 (/etc/apache2/sites-enabled/example.com1.conf:1)
พอร์ต 80 namevhost example.com2 (/etc/apache2/sites-enabled/example.com2.conf:1)
พอร์ต 80 namevhost example.com3 (/etc/apache2/sites-enabled/example.com3.conf:1)
นามแฝง example.com3
พอร์ต 80 namevhost example.com4 (/etc/apache2/sites-enabled/example.com4.conf:1)
พอร์ต 80 namevhost example.com5 (/etc/apache2/sites-enabled/example.com5.conf:1)
พอร์ต 80 namevhost example.com6 (/etc/apache2/sites-enabled/example.com6.conf:1)
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก ...