Gần đây, tôi đã nhận được một email từ LetsEncrypt cho biết chứng chỉ trang web của tôi sắp hết hạn - Tôi đã định cấu hình trang web để chỉ sử dụng HTTPS. Các chứng chỉ đã tự động gia hạn mà không gặp bất kỳ sự cố nào cho đến bây giờ. Tôi đã nâng cấp các thư viện OpenSSL trên Ubuntu 18.04 của mình để sử dụng TLS mới nhất, phiên bản 1.3. Tất cả dường như hoạt động tốt nhưng truy cập trang web của tôi bằng trình duyệt web Firefox chạy trên Windows 7 đã hiển thị thông báo sau: -
SSL_ERROR_RX_RECORD_TOO_LONG
và tệp "access.log" của Apache trên máy chủ có nội dung sau khi trang web được truy cập: -
"\x16\x03\x01\x02" 400 499 "-" "-"
Trông giống như một cái bắt tay TLS và 400 có thể là một yêu cầu tồi.
Một cái gì đó, ở đâu đó, không được cấu hình đúng. Làm thế nào để tôi tìm ra vấn đề là gì?
CHỈNH SỬA
Sau khi tìm kiếm giải pháp, tôi thấy rằng nếu tôi gõ: -
dfsoftware.ddns.net
vào thanh địa chỉ trình duyệt của tôi, tôi gặp lỗi (trên Firefox, SSL_ERROR...) nhưng nếu tôi gõ: -
http://dfsoftware.ddns.net:443
trang tải chính xác. Vì vậy, có vẻ như apache đang gặp sự cố khi xử lý kết nối an toàn trên cổng 443 và chỉ chấp nhận các yêu cầu cố định trên cổng đó. Các tệp cấu hình có vẻ ổn (tôi có thể tải chúng lên nếu bạn cần xem) vậy chuyện gì đang xảy ra?
CHỈNH SỬA 2
Đây là các tệp cấu hình apache mà tôi nghĩ là có liên quan, nếu cần những tệp khác, hãy hỏi.
apache2.conf: -
Tên máy chủ dfsoftware.ddns.net
DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Thời gian chờ 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Người dùng ${APACHE_RUN_USER}
Nhóm ${APACHE_RUN_GROUP}
Tìm kiếm tên máy chủ Tắt
Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
LogLevel cảnh báo
Bao gồm tùy chọn mods-enabled/*.load
Bao gồm tùy chọn mods-enabled/*.conf
Bao gồm các cổng.conf
<Thư mục />
Tùy chọn FollowSymLinks
AllowOverride Không có
Yêu cầu tất cả bị từ chối
</Thư mục>
<Thư mục /usr/share>
AllowOverride Không có
Yêu cầu tất cả cấp
</Thư mục>
<Thư mục /var/www/>
Tùy chọn Chỉ mục FollowSymLinks
AllowOverride Không có
Yêu cầu tất cả cấp
</Thư mục>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Yêu cầu tất cả bị từ chối
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" kết hợp
LogFormat "%h %l %u %t \"%r\" %>s %O" chung
LogFormat "%{Referer}i -> %U" người giới thiệu
Tác nhân LogFormat "%{User-agent}i"
Bao gồmConf-enabled/*.confTùy chọn
Bao gồmCác trang web tùy chọn đã bật/*.conf
<FilesMatch \.php$>
Ứng dụng SetHandler/x-httpd-php
</FilesMatch>
cổng.conf: -
nghe 80
<IfModule ssl_module>
Nghe 443
</IfModule>
<IfModule mod_gnutls.c>
Nghe 443
</IfModule>
các trang web có sẵn/dfsoftare.ddns.net.conf: -
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName dfsoftware.ddns.net
ServerAlias www.dfsoftware.ddns.net
DocumentRoot /WebSites/Websites
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /WebSites/Websites/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =dfsoftware.ddns.net [OR]
RewriteCond %{SERVER_NAME} =www.dfsoftware.ddns.net
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
các trang web có sẵn/dfsoftare.ddns.net-le-ssl.conf: -
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName dfsoftware.ddns.net
ServerAlias www.dfsoftware.ddns.net
DocumentRoot /WebSites/Websites
SSLEngine on
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /WebSites/Websites/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
SSLEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/dfsoftware.ddns.net- 0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dfsoftware.ddns.net-0001/privkey.pem
</VirtualHost>
</IfModule>