Score:1

วิธีแก้ไข SSL_ERROR_NO_CYPHER_OVERLAP สำหรับ 2 โดเมนบน apache ด้วย certbot

ธง cn

เรามีสองเว็บไซต์ที่ทำงานบน apache เดียว: www-example1-com, www-example2-com

www-example1-com เป็นไซต์แรกที่มีอยู่ ได้รับใบรับรองเข้ารหัสและใช้งานได้ดี www-example2-com เป็นไซต์ที่สองที่ได้รับใบรับรองการเข้ารหัสเช่นกัน

www-example1-com ทำงานได้ดี www-example2-com ทำให้เกิดข้อผิดพลาดใน Firefox และ Chromium SSL_ERROR_NO_CYPHER_OVERLAP ใน Firefox ERR_SSL_VERSION_OR_CIPHER_MISMATCH ใน Chromium

สิ่งที่ฉันทำจนถึงตอนนี้:

  • ฉันสร้างใบรับรองสำหรับ www-example2
  • ฉันขยายใบรับรองของ www-example1 เพื่อนับสำหรับ www-example2 ด้วย
  • ฉันขยาย example2.conf ใน /etc/apache2/sites-available โดยข้อมูลโค้ดจาก https://ssl-config.mozilla.org/
  • ฉันลบคีย์และใบรับรองสำหรับ www.example2 แล้วรวบรวมใหม่
  • ฉันตรวจสอบ example1-conf, example2-conf, 000-default-le-ssl.conf, apache2.conf
  • https://www.ssllabs.com/ssltest/analyze.html?d=example2.com --> การประเมินล้มเหลว: ไม่สามารถสื่อสารกับเซิร์ฟเวอร์ที่ปลอดภัย

error.log ของ apache แสดงผลบรรทัดนี้: [ssl:info] [pid 19288] (70014) พบจุดสิ้นสุดของไฟล์: [client 192.168.0.9:53597] AH01991: การอ่านตัวกรองอินพุต SSL ล้มเหลว

โปรดทราบ: มี SNI ที่ดูเหมือนจะได้รับการกำหนดค่าอย่างถูกต้อง แต่ฉันไม่สามารถเข้าถึงได้โดยตรง

ในแต่ละกรณี ข้อความแสดงข้อผิดพลาดจะไม่เปลี่ยนแปลง

000-default-le-ssl.conf:

<IfModule mod_ssl.c>
<VirtualHost *:443>
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
    ServerAdmin webmaster@localhost
    Protocols h2 h2c http/1.1
    DocumentRoot /var/www/html/
    ServerName www.example1.com
    ServerAlias example1.com
    Protocols h2 h2c http/1.1

    <Directory /var/www/>
            Options -Indexes +FollowSymLinks
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>
    
    # added 01.04.2019 END
    
    <Directory /var/www/html/>
      Options -Indexes +FollowSymlinks
      AllowOverride All
      Require all granted
      allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    #SSLEngine off
    #Include /etc/letsencrypt/options-ssl-apache.conf
    #Header always set Content-Security-Policy upgrade-insecure-requests
    Include /etc/letsencrypt/options-ssl-apache.conf
    #SSLCertificateFile /etc/letsencrypt/live/www.example2.com/fullchain.pem
    #SSLCertificateKeyFile /etc/letsencrypt/live/www.example2.com/privkey.pem
    #Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/www.example1.com-0001/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example1.com-0001/privkey.pem
    </VirtualHost>
    </IfModule>

ตัวอย่าง2.conf

<VirtualHost *:80>
 Protocols h2 http/1.1
 ServerAdmin [email protected]
 DocumentRoot /var/www/html1/example2/
 ServerName www.example2.com
 ServerAlias example2.com
 <Directory /var/www/html1/example2>
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
 </Directory>

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 RewriteEngine on
 RewriteCond %{SERVER_NAME} =www.example2.com [OR]
 RewriteCond %{SERVER_NAME} =example2.com
 RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
 </VirtualHost>

 <IfModule mod_ssl.c>
 <VirtualHost *:443>
    ServerAdmin [email protected]
    Protocols h2 h2c http/1.1
    DocumentRoot /var/www/html1/example2
    ServerName www.example2.com
    ServerAlias example2.com

    <Directory /var/www/html1>
            Options -Indexes +FollowSymLinks
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>
    <Directory /var/www/html1/example2>
      Options -Indexes +FollowSymlinks
      AllowOverride All
      Require all granted
     allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 #       SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
 #       SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
 #       SSLHonorCipherOrder     off
 #       SSLSessionTickets       off

 #SSLUseStapling On
 #SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

 Include /etc/letsencrypt/options-ssl-apache.conf
 SSLCertificateFile /etc/letsencrypt/live/www.example1.com-0001/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/www.example1.com-0001/privkey.pem
 </VirtualHost>
 </IfModule>

ผลลัพธ์ของ openssl:

เชื่อมต่อแล้ว(00000003)
140386018971712:ข้อผิดพลาด:14094410:รูทีน SSL:ssl3_read_bytes:sslv3 การแจ้งเตือนการจับมือล้มเหลว:../ssl/record/rec_layer_s3.c:1407:การแจ้งเตือน SSL หมายเลข 40
---
 ไม่มีใบรับรองเพื่อน
---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
---
SSL handshake อ่าน 7 ไบต์และเขียน 198 ไบต์
การยืนยัน: ตกลง
---
ใหม่ (ไม่มี) รหัสคือ (ไม่มี)
ไม่สนับสนุนการเจรจาใหม่อย่างปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
เซสชัน SSL:
โปรโตคอล : TLSv1.2
รหัส : 0000
รหัสเซสชัน: 
เซสชัน-ID-ctx: 
กุญแจหลัก: 
ตัวตน PSK: ไม่มี
คำใบ้ประจำตัว PSK: ไม่มี
ชื่อผู้ใช้ SRP: ไม่มี
เวลาเริ่มต้น: 1623677307
หมดเวลา : 7200 (วินาที)
ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
ความลับหลักเพิ่มเติม: ไม่

ใครช่วยกรุณาช่วยค้นหาข้อผิดพลาดได้ไหม กรุณาบอกฉันหากคุณต้องการข้อมูลเพิ่มเติม

ขอบคุณล่วงหน้า.

ezra-s avatar
ru flag
ควรจะใช้งานได้ แต่ฉันไม่เห็น "SSLEngine on" ใน virtualhost ในหมายเหตุอื่น คำสั่ง อนุญาต ปฏิเสธ เป็นคำสั่งที่เลิกใช้แล้ว โปรดหยุดใช้ เช่นเดียวกับ "AllowOverride all" หากคุณเป็นผู้ดูแลระบบของไซต์ ก็ไม่จำเป็นต้องใช้ .htaccess โอ้และ... คุณอาจชอบให้ mod_md จัดการกับใบรับรองการเข้ารหัสของ letsen ลองดูสิ
Zehke avatar
cn flag
เป็นไปได้ไหมที่ข้อผิดพลาดจะเกิดขึ้นเมื่อไม่ได้เปิดใช้งาน ssl บนเซิร์ฟเวอร์ - เราใช้เซิร์ฟเวอร์ใหม่ สร้างทุกอย่างตั้งแต่เริ่มต้นด้วยเพียงเว็บไซต์ apache เริ่มต้น และข้อผิดพลาดยังคงเกิดขึ้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา