Tôi hiện đang cố gắng tạo vhost mặc định cho HTTPS để chặn lưu lượng truy cập từ các miền trái phép. Tuy nhiên, khi tôi xác định một vhost 443 mặc định, TẤT CẢ các vhost HTTPS khác cũng kế thừa điều này và ngăn truy cập thông thường. Tôi đã gãi đầu hàng giờ về điều này ...
Thông tin Apache:
Hệ điều hành: Máy chủ Ubuntu 20.04
Phiên bản máy chủ: Apache/2.4.41 (Ubuntu)
Máy chủ được xây dựng: 2022-03-16T16:52:53
Đây là tệp vhosts mặc định của tôi:
<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>
Và phần còn lại nằm trong các tệp cấu hình riêng biệt và được bật bằng cách sử dụng sudo a2ensite mydomain.com.conf
Đây là một trong những cấu hình đó:
<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>
Thông tin thêm để giúp đỡ:
Sudo apachectl -S
Cấu hình máy chủ ảo:
*:443 là NameVirtualHost
mặc định máy chủ mặc định (/etc/apache2/sites-enabled/000-default.conf:22)
cổng 443 namevhost mặc định (/etc/apache2/sites-enabled/000-default.conf:22)
cổng 443 namevhost example.com1 (/etc/apache2/sites-enabled/example.com1-le-ssl.conf:2)
cổng 443 namevhost example.com2 (/etc/apache2/sites-enabled/example.com2.conf:18)
cổng 443 namevhost example.com3 (/etc/apache2/sites-enabled/example.com3-le-ssl.conf:2)
bí danh ví dụ.com3
cổng 443 namevhost example.com4 (/etc/apache2/sites-enabled/example.com4-le-ssl.conf:2)
cổng 443 namevhost example.com5 (/etc/apache2/sites-enabled/example.com5-le-ssl.conf:2)
cổng 443 namevhost example.com6 (/etc/apache2/sites-enabled/example.com6-le-ssl.conf:2)
*:80 là một NameVirtualHost
mặc định máy chủ mặc định (/etc/apache2/sites-enabled/000-default.conf:1)
cổng 80 namevhost mặc định (/etc/apache2/sites-enabled/000-default.conf:1)
cổng 80 namevhost example.com1 (/etc/apache2/sites-enabled/example.com1.conf:1)
cổng 80 namevhost example.com2 (/etc/apache2/sites-enabled/example.com2.conf:1)
cổng 80 namevhost example.com3 (/etc/apache2/sites-enabled/example.com3.conf:1)
bí danh ví dụ.com3
cổng 80 namevhost example.com4 (/etc/apache2/sites-enabled/example.com4.conf:1)
cổng 80 namevhost example.com5 (/etc/apache2/sites-enabled/example.com5.conf:1)
cổng 80 namevhost example.com6 (/etc/apache2/sites-enabled/example.com6.conf:1)
Bất kì sự trợ giúp nào đều được đánh giá cao ...