Apache 2.2.3 / mod_ssl / CentOS 5.5 VPS
ใบรับรองของเราหมดอายุในวันที่ 2011-10-06 และแม้ว่าเราได้ติดตั้งใหม่อย่างถูกต้อง แต่การเรียกดูไปยังไซต์ยังคงแสดงใบรับรองที่หมดอายุ! ฉันพยายามลบแคชของเบราว์เซอร์และใช้เบราว์เซอร์ที่แตกต่างกันหลายตัว บรรทัดที่เกี่ยวข้องจากไฟล์ ssl.conf (ฉันได้ยกเว้นสิ่งที่ใส่ความคิดเห็นไว้):
Listen 127.0.0.1:443
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
# Note - I tried disabling SSLSessionCache with the "none" setting but it didn't help.
<VirtualHost 127.0.0.1:443>
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /var/certs/gentlemanjoe.com/new2011/gentlemanjoe.com.crt
SSLCertificateKeyFile /var/certs/gentlemanjoe.com/new2011/gentlemanjoe.com.key
SSLCertificateChainFile /var/certs/gentlemanjoe.com/new2011/gd_bundle.crt
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ServerAdmin webmaster@donotemailme.com
DocumentRoot /var/www/gentlemanjoe.com
ServerName gentlemanjoe.com
<Directory /var/www/gentlemanjoe.com>
AllowOverride All
Order deny,allow
allow from all
</Directory>
</VirtualHost>
สิ่งที่ฉันได้ตรวจสอบแล้ว
ก่อนอื่นฉันพยายามย้ายไฟล์ใบรับรองและคีย์เก่าไปยังโฟลเดอร์ที่แตกต่างอย่างสิ้นเชิงเพื่อให้แน่ใจว่า Apache ยังไม่ได้จับพวกเขาอย่างใด ไม่มีอะไรเปลี่ยนแปลง เพื่อความสนุกฉันได้ลองเปลี่ยนชื่อใบรับรองและคีย์ไฟล์ใหม่ชั่วคราวและ Apache บ่นตามหน้าที่และปฏิเสธที่จะเริ่มต้น
จากนั้นฉันพยายามทำให้แน่ใจว่าฉันไม่ได้ถูกหลอกโดยการแก้ไขไฟล์กำหนดค่าที่ไม่ถูกต้อง การใช้ "ค้นหา" ฉันพบไฟล์ httpd.conf เพียงไฟล์เดียวภายใต้ /etc/httpd/conf/httpd.conf ฉันยังใช้ "ค้นหา" เพื่อตรวจสอบว่ามีไฟล์ ssl.conf เพียงไฟล์เดียวเท่านั้น /etc/httpd/conf.d/ssl.conf ไฟล์สำคัญคือสิ่งที่ฉันสร้างขึ้นโดยใช้ OpenSSL ทำตามคำแนะนำของ GoDaddy ในการสร้าง CSR
ฉันตรวจสอบแล้วว่าฉันทำงานกับเว็บไซต์ที่ถูกต้องโดยการอัปโหลดไฟล์ test.html ไปยังโฟลเดอร์ /var/www/gentlemanjoe.com และยืนยันว่าฉันสามารถเรียกดูได้ แต่ถ้าฉันพยายามดูไฟล์ทดสอบใน HTTPS ฉันจะได้รับการเตือนการหมดอายุของใบรับรองเดียวกัน
ฉันตรวจสอบว่าใบรับรองนั้นมีวันหมดอายุที่ถูกต้อง:
openssl x509 -in /var/certs/gentlemanjoe.com/new2011/gentlemanjoe.com.crt -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
07:e7:49:69:97:96:16
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
Validity
Not Before: Oct 21 17:37:55 2011 GMT
Not After : Oct 8 21:16:03 2013 GMT
Subject: C=CA, ST=BC, L=Burnaby, O=Diamond Bailey Consolidated Commercial Services Ltd, OU= , CN=www.gentlemanjoe.com
ฉันลองป้อนใบรับรองที่ GoDaddy อีกครั้งด้วย CSR ใหม่และดูเหมือนว่าทุกอย่างจะทำงานได้ แต่ฉันได้ผลลัพธ์เดียวกันในเบราว์เซอร์
เบาะแสที่เป็นไปได้ # 1
เมื่อใดก็ตามที่ฉัน "apachectl รีสตาร์ท" ฉันเห็นสิ่งนี้ในไฟล์ error_log:
[Fri Oct 21 18:03:33 2011] [notice] SIGHUP received. Attempting to restart
[Fri Oct 21 18:03:33 2011] [notice] Digest: generating secret for digest authentication ...
[Fri Oct 21 18:03:33 2011] [notice] Digest: done
[Fri Oct 21 18:03:33 2011] [info] APR LDAP: Built with OpenLDAP LDAP SDK
[Fri Oct 21 18:03:33 2011] [info] LDAP: SSL support available
[Fri Oct 21 18:03:33 2011] [info] Init: Seeding PRNG with 256 bytes of entropy
[Fri Oct 21 18:03:33 2011] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Oct 21 18:03:33 2011] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Oct 21 18:03:33 2011] [info] Shared memory session cache initialised
[Fri Oct 21 18:03:33 2011] [info] Init: Initializing (virtual) servers for SSL
[Fri Oct 21 18:03:33 2011] [warn] RSA server certificate CommonName (CN) `www.gentlemanjoe.com' does NOT match server name!?
[Fri Oct 21 18:03:33 2011] [info] Server: Apache/2.2.3, Interface: mod_ssl/2.2.3, Library: OpenSSL/0.9.8e-fips-rhel5
[Fri Oct 21 18:03:34 2011] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Fri Oct 21 18:03:34 2011] [info] Server built: Aug 30 2010 12:28:40
GoDaddy techs บอกฉันว่า www vs ไม่ใช่ www ไม่ควรเป็นไรและฉันมักจะเห็นด้วยเนื่องจากคำเตือนความปลอดภัยในเบราว์เซอร์ของฉันไม่ได้บ่นเกี่ยวกับชื่อเซิร์ฟเวอร์ที่ไม่ตรงกัน แต่เป็นการหมดอายุซึ่งบ่งชี้ว่าใบรับรองเก่ายังคงอยู่ กำลังโหลดอย่างใด
เบาะแสที่เป็นไปได้ # 2
ส่วนหัวการตอบกลับเซิร์ฟเวอร์ HTTP สำหรับhttp://gentlemanjoe.comพูดว่า "Andromeda" มากกว่า "Apache" สิ่งนี้ดูแปลกสำหรับฉันเนื่องจาก Googling ของฉัน "Andromeda" เปิดโครงการประเภทสื่อเซิร์ฟเวอร์ซึ่งจะไม่ถูกติดตั้งบนเซิร์ฟเวอร์นี้ (แต่ฉันไม่สามารถพูดได้ด้วยความมั่นใจเนื่องจากฉันไม่ได้ตั้งค่านี้ ผู้ดูแลระบบปกติ / นักพัฒนาอยู่ในช่วงวันหยุดและฉันเพิ่งช่วยเพื่อนกับเว็บไซต์ของเขา) นอกจากนี้ไฟล์ httpd.conf ไม่มีสตริง "Andromeda" ที่ระบุว่ายังไม่ได้รับการแก้ไขเพื่อคายสิ่งนี้ ดังนั้นมันอาจจะเป็นแพลตฟอร์มอีคอมเมิร์ซของวีโอไอพีที่เขาใช้ แต่สิ่งที่จะเป็นจุดเปลี่ยนหัวตอบสนอง Apache มาตรฐาน?