Điểm:0

Gia hạn Chứng chỉ LetsEncrypt khiến trang web dựa trên Apache ngừng hoạt động

lá cờ us

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>
dave_thompson_085 avatar
lá cờ jp
Không có TLS 3.1, tôi cho rằng ý bạn là 1.3.Bằng cách 'nâng cấp', bạn có nghĩa là _packages_ `libssl` _and_ `Apache2-bin` tham chiếu nó (thông qua `mod_ssl`) từ kho lưu trữ tiêu chuẩn hoặc thứ gì khác như PPA hoặc bản dựng từ nguồn? Bạn đã sử dụng certbot hay một số phương pháp khác? Tôi có thể tạo lại điều này bằng cách đặt `SSLEngine off` (rõ ràng) trong cấu hình OOTB tại các trang web có sẵn/default-ssl.conf , vì vậy bạn có thể tìm kiếm thứ gì đó tương tự, mặc dù nó có vẻ thực sự kỳ quặc đối với certbot hoặc bất kỳ ứng dụng khách ACME lành mạnh nào làm một việc như vậy.
lá cờ us
Rất tiếc, vâng, nhầm số phiên bản! Trộn lẫn giữa endian nhỏ và lớn lol! (cập nhật câu hỏi).
lá cờ us
@dave_thompson_085: Tôi có dòng "SSLEngine on" trong tệp đó và các tệp mà "SSLCertificateXXX" đề cập đến có tồn tại. Và tôi đã sử dụng certbot
lá cờ us
Sau khi nhìn xung quanh một chút, tôi thấy một bài đăng về SSL không hoạt động trên cổng 443 nên tôi đã thử "http://:443" và lo và kìa, nó đã hoạt động. Vì vậy, có vẻ như apache không sử dụng SSL trên cổng đó. Bạn có ý tưởng nào về cách kích hoạt nó không?
lá cờ in
Vui lòng chứng minh cấu hình Apache của bạn

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.