Tôi đang chạy apache2 trên máy chủ Debian 10.
Tôi có một máy chủ ảo cho một trong những tên miền phụ mà tôi có. Tôi đang gặp sự cố nếu máy chủ ảo của tên miền phụ được bật, sẽ chuyển đến Broadcastre.cc
sẽ hiển thị nội dung của smf.broadcastre.cc
(máy chủ ảo).
Đây không phải là cố ý và bất kỳ trợ giúp về vấn đề này sẽ được đánh giá cao.
Confg máy chủ ảo của tôi
root@server1:~# mèo /etc/apache2/sites-available/smf.conf
<Máy chủ ảo *:80>
ServerAdmin <email ẩn>
Tên máy chủ smf.broadcastre.cc
ServerAlias www.smf.broadcastre.cc
Tài liệuRoot /var/www/smf
Directory Index index.php
<Thư mục /var/www/smf>
Tùy chọn Chỉ mục FollowSymLinks MultiViews
AllowOverride All
Lệnh cho phép, từ chối
cho phép từ tất cả
</Thư mục>
<FilesMatch \.php$>
# Đối với phiên bản Apache 2.4.10 trở lên, hãy sử dụng SetHandler để chạy PHP dưới dạng máy chủ xử lý fastCGI
SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/smf.broadcastre.cc_error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/smf.broadcastre.cc_access.log kết hợp
</Máy chủ ảo>
Cấu hình cho Broadcastre.cc
root@server1:~# cat /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
<Máy chủ ảo _default_:443>
Quản trị viên web ServerAdmin@localhost
Tài liệuRoot /var/www/html
# Các mức nhật ký có sẵn: theo dõi8, ..., theo dõi1, gỡ lỗi, thông tin, thông báo, cảnh báo,
# lỗi, chí mạng, cảnh báo, nổi lên.
# Cũng có thể cấu hình loglevel cho cụ thể
# mô-đun, ví dụ:
#LogLevel thông tin ssl:cảnh báo
Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/access.log kết hợp
# Đối với hầu hết các tệp cấu hình từ conf-available/, đó là
# được bật hoặc tắt ở cấp độ toàn cầu, có thể
# bao gồm một dòng cho chỉ một máy chủ ảo cụ thể. ví dụ như
# dòng sau chỉ bật cấu hình CGI cho máy chủ này
# sau khi nó đã bị vô hiệu hóa trên toàn cầu với "a2disconf".
#Bao gồm conf-có sẵn/phục vụ-cgi-bin.conf
# Chuyển đổi công cụ SSL:
# Bật/Tắt SSL cho máy chủ ảo này.
Công cụ SSL bật
# Có thể tạo chứng chỉ tự ký (snakeoil) bằng cách cài đặt
# gói ssl-cert. Nhìn thấy
# /usr/share/doc/apache2/README.Debian.gz để biết thêm thông tin.
# Nếu cả khóa và chứng chỉ được lưu trữ trong cùng một tệp, thì chỉ
# Chỉ thị SSLCertificateFile là cần thiết.
SSLCertificateFile /root/.acme.sh/broadcastre.cc/broadcastre.cc.cer
SSLCertificateKeyFile /root/.acme.sh/broadcastre.cc/broadcastre.cc.key
# Chuỗi chứng chỉ máy chủ:
# Trỏ SSLCertificateChainFile vào một tệp chứa
# nối các chứng chỉ CA được mã hóa PEM tạo thành
# chuỗi chứng chỉ cho chứng chỉ máy chủ. Ngoài ra
# tệp được tham chiếu có thể giống với SSLCertificateFile
# khi chứng chỉ CA được thêm trực tiếp vào máy chủ
# giấy chứng nhận thuận tiện.
#SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
# Cơ quan cấp chứng chỉ (CA):
# Đặt đường dẫn xác minh chứng chỉ CA nơi tìm CA
# chứng chỉ để xác thực ứng dụng khách hoặc một chứng chỉ khác
# tệp lớn chứa tất cả chúng (tệp phải được mã hóa PEM)
# Lưu ý: Bên trong SSLCACertificatePath, bạn cần có các liên kết băm
# để trỏ đến tệp chứng chỉ. Sử dụng được cung cấp
# Makefile để cập nhật các liên kết mã băm sau khi thay đổi.
#SSLCACertificatePath /etc/ssl/certs/
#SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
# Danh sách thu hồi chứng chỉ (CRL):
# Đặt đường dẫn thu hồi CA nơi tìm CRL CA cho máy khách
# xác thực hoặc thay vào đó là một tệp lớn chứa tất cả
# trong số chúng (tệp phải được mã hóa PEM)
# Lưu ý: Bên trong SSLCARevocationPath, bạn cần có các liên kết băm
# để trỏ đến tệp chứng chỉ. Sử dụng được cung cấp
# Makefile để cập nhật các liên kết mã băm sau khi thay đổi.
#SSLCARevocationPath /etc/apache2/ssl.crl/
#SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl
# Xác thực ứng dụng khách (Loại):
# Loại và độ sâu xác minh chứng chỉ ứng dụng khách. Các loại là
# không, tùy chọn, yêu cầu và tùy chọn_no_ca. Độ sâu là một
# số chỉ định mức độ sâu để xác minh chứng chỉ
# chuỗi nhà phát hành trước khi quyết định chứng chỉ không hợp lệ.
#SSLVerifyClient yêu cầu
#SSLVerifyDepth 10
# Tùy chọn Công cụ SSL:
# Đặt các tùy chọn khác nhau cho công cụ SSL.
# o FakeBasicAuth:
# Dịch ứng dụng khách X.509 thành Ủy quyền cơ bản. Điều này có nghĩa rằng
# các phương thức Auth/DBMAuth tiêu chuẩn có thể được sử dụng để kiểm soát truy cập. Các
# tên người dùng là phiên bản `một dòng' của chứng chỉ X.509 của máy khách.
# Lưu ý rằng không có mật khẩu nào được lấy từ người dùng. Mọi mục nhập trong người dùng
# tệp cần có mật khẩu này: `xxj31ZMTZzkVA'.
# o XuấtCertData:
# Điều này xuất hai biến môi trường bổ sung: SSL_CLIENT_CERT và
# SSL_SERVER_CERT. Chúng chứa các chứng chỉ được mã hóa PEM của
# máy chủ (luôn tồn tại) và máy khách (chỉ tồn tại khi máy khách
# xác thực được sử dụng). Điều này có thể được sử dụng để nhập các chứng chỉ
# thành tập lệnh CGI.
# o StdEnvVars:
# Thao tác này xuất các biến môi trường `SSL_*' liên quan đến SSL/TLS tiêu chuẩn.
# Theo mặc định, quá trình xuất này bị tắt vì lý do hiệu suất,
# vì bước trích xuất là một hoạt động tốn kém và thường
# vô dụng để phục vụ nội dung tĩnh. Vì vậy, người ta thường kích hoạt
# chỉ xuất cho các yêu cầu CGI và SSI.
# o Chọn Đàm phán lại:
# Điều này cho phép xử lý đàm phán lại kết nối SSL được tối ưu hóa khi SSL
# chỉ thị được sử dụng trong ngữ cảnh mỗi thư mục.
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Thư mục /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Thư mục>
# Điều chỉnh giao thức SSL:
# Tắt an toàn và mặc định nhưng vẫn tuân thủ tiêu chuẩn SSL/TLS
# cách tiếp cận là mod_ssl gửi cảnh báo thông báo đóng nhưng không đợi
# cảnh báo đóng thông báo từ khách hàng. Khi bạn cần tắt máy khác
# cách tiếp cận, bạn có thể sử dụng một trong các biến sau:
# o ssl-unclean-tắt máy:
# Điều này buộc tắt máy không sạch khi kết nối bị đóng, tức là không
# Thông báo đóng SSL được gửi hoặc được phép nhận. Điều này vi phạm
# tiêu chuẩn SSL/TLS nhưng cần thiết cho một số trình duyệt chết não. Sử dụng
# điều này khi bạn nhận được lỗi I/O do cách tiếp cận tiêu chuẩn trong đó
# mod_ssl gửi cảnh báo thông báo đóng.
# o ssl-tắt-chính xác:
# Điều này buộc tắt máy chính xác khi đóng kết nối, tức là
# Thông báo đóng SSL được gửi và mod_ssl chờ thông báo đóng
# cảnh báo của khách hàng. Đây là tiêu chuẩn SSL/TLS tuân thủ 100%, nhưng trong
# thực hành thường gây treo kết nối với các trình duyệt chết não. Sử dụng
# điều này chỉ dành cho các trình duyệt mà bạn biết rằng việc triển khai SSL của họ
# hoạt động chính xác.
# Lưu ý: Hầu hết các sự cố của máy khách bị hỏng cũng liên quan đến HTTP
# cơ sở duy trì hoạt động, vì vậy bạn thường muốn tắt thêm
# keep-alive cho những khách hàng đó nữa. Sử dụng biến "nokeepalive" cho việc này.
# Tương tự, người ta phải buộc một số khách hàng sử dụng HTTP/1.0 để giải quyết
# quá trình triển khai HTTP/1.1 bị hỏng của họ. Sử dụng các biến "hạ cấp-1.0" và
# "force-response-1.0" cho việc này.
# BrowserMatch "MSIE [2-6]" \
# nokeepalive ssl-unclean-shutdown \
# downgrade-1.0 force-response-1.0
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType văn bản/css A31536000
Văn bản ExpiresByType/thành phần x A31536000
Ứng dụng ExpiresByType/x-javascript A31536000
Hết hạnByType ứng dụng/javascript A31536000
Hết hạnByType văn bản/javascript A31536000
Văn bản ExpiresByType/x-js A31536000
ExpiresByType văn bản/html A3600
ExpiresByType văn bản/richtext A3600
Văn bản ExpiresByType/đơn giản A3600
Văn bản ExpiresByType/xsd A3600
Văn bản ExpiresByType/xsl A3600
ExpiresByType văn bản/xml A3600
ExpiresByType video/asf A31536000
ExpiresByType video/avi A31536000
Hình ảnh ExpiresByType/bmp A31536000
Hết hạnByType ứng dụng/java A31536000
ExpiresByType video/divx A31536000
ExpiresByType ứng dụng/msword A31536000
ExpiresByType ảnh/gif A31536000
Ứng dụng ExpiresByType/x-gzip A31536000
Hình ảnh ExpiresByType/biểu tượng x A31536000
Hình ảnh ExpiresByType/jpeg A31536000
ExpiresByType image/webp A31536000
Ứng dụng ExpiresByType/json A31536000
Âm thanh ExpiresByType/midi A31536000
ExpiresByType video/thời gian nhanh A31536000
ExpiresByType âm thanh/mpeg A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType video/mpeg A31536000
ExpiresByType video/webm A31536000
Ứng dụng ExpiresByType/x-font-otf A31536000
Âm thanh ExpiresByType/ogg A31536000
Ứng dụng ExpiresByType/pdf A31536000
ExpiresByType image/png A31536000
Âm thanh ExpiresByType/x-realaudio A31536000
Hình ảnh ExpiresByType/svg+xml A31536000
Ứng dụng ExpiresByType/x-shockwave-flash A31536000
Ứng dụng ExpiresByType/x-tar A31536000
ExpiresByType image/tiff A31536000
Ứng dụng ExpiresByType/x-font-ttf A31536000
ExpiresByType âm thanh/wav A31536000
Hết hạnByType âm thanh/wma A31536000
Ứng dụng ExpiresByType/phông chữ woff A31536000
Ứng dụng ExpiresByType/font-woff2 A31536000
ExpiresByType ứng dụng/zip A31536000
</IfModule>
Bí danh /mail /usr/share/roundcube
</Máy chủ ảo>
</IfModule>
# vim: cú pháp=apache ts=4 sw=4 sts=4 sr noet
Chỉnh sửa: Mở đầu Broadcastre.cc
với cổng 443 thay vì 80 sửa lỗi này. Tôi cho rằng điều này là do nó nghe trên 443 chứ không phải 80 (cảm ơn hơi_toasted vì đã chỉ ra điều này)