ฉันเพิ่งอัปเกรดจาก Apache 2.2 เป็น 2.4 (ฉันรู้ว่าฉันอัปเกรดช้า อย่าเกลียดฉัน) ฉันมีโฮสต์เสมือนต่อไปนี้:
<VirtualHost _default_:30000>
DocumentRoot /opt/phpmyadmin
ErrorLog ${APACHE_LOG_DIR}/error.log
<Directory /opt/phpmyadmin>
Options -Indexes +IncludesNOEXEC +FollowSymLinks
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
LogLevel warn
</VirtualHost>
สิ่งนี้ใช้งานได้ก่อนหน้านี้โดยใช้ อนุญาตจากทั้งหมด
ไวยากรณ์และ HTTPS ทำงานได้อย่างสมบูรณ์สำหรับโฮสต์เสมือนอื่นๆ บนพอร์ต 443 อย่างไรก็ตาม เมื่อฉันไปที่ https://localhost:30000
ให้บริการเนื้อหา HTTP แทน HTTPS นี่เป็นโฮสต์เสมือนเพียงแห่งเดียวที่ใช้พอร์ต 30000 ดังนั้นฉันจึงสันนิษฐานว่าไม่ได้เกิดจากความขัดแย้งกับโฮสต์เสมือนอื่น ๆ ที่มีความสำคัญ
คำขอ HTTPS:
$ curl -v https://localhost:30000
* สร้าง URL ใหม่เป็น: https://localhost:30000/
* ไม่พบชื่อโฮสต์ในแคช DNS
* พยายาม ::1...
* เชื่อมต่อกับ localhost (::1) พอร์ต 30000 (#0)
* ตั้งค่าตำแหน่งการตรวจสอบใบรับรองสำเร็จแล้ว:
* ไฟล์ CA: ไม่มี
CApath: /etc/ssl/certs
* SSLv3, การจับมือ TLS, ลูกค้าสวัสดี (1):
* ข้อผิดพลาด:140770FC:รูทีน SSL:SSL23_GET_SERVER_HELLO:โปรโตคอลที่ไม่รู้จัก
* ปิดการเชื่อมต่อ 0
curl: (35) ข้อผิดพลาด:140770FC:รูทีน SSL:SSL23_GET_SERVER_HELLO:โปรโตคอลที่ไม่รู้จัก
สิ่งนี้จะสร้างสิ่งต่อไปนี้ในบันทึกการเข้าถึง Apache:
127.0.0.1:80 XXX.XXX.XXX.149 - - [04/ต.ค./2564:13:14:37 -0400] "\x16\x03\x01\x02" 400 0 "-" "-"
คำขอ HTTP
$ curl -v http://localhost:30000
* สร้าง URL ใหม่เป็น: http://localhost:30000/
* ไม่พบชื่อโฮสต์ในแคช DNS
* พยายาม ::1...
* เชื่อมต่อกับ localhost (::1) พอร์ต 30000 (#0)
> เก็ท / HTTP/1.1
> User-Agent: curl/7.38.0
> โฮสต์: localhost:30000
> ยอมรับ: */*
>
< HTTP/1.1 200 ตกลง
< วันที่: จันทร์ที่ 04 ต.ค. 2564 16:47:46 น
* เซิร์ฟเวอร์ Apache ไม่ถูกขึ้นบัญชีดำ
< เซิร์ฟเวอร์: อาปาเช่
< แตกต่างกันไป: ยอมรับการเข้ารหัส
< ความยาวเนื้อหา: 481
< ประเภทเนื้อหา: text/html;charset=UTF-8
<
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<หัว>
<title>ดัชนีของ /</title>
</หัว>
<เนื้อหา>
<h1>ดัชนีของ /</h1>
<ตาราง>
<tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O= D">ชื่อ</a></th><th><a href="?C=M;O=A">แก้ไขล่าสุด</a></th><th><a href="?C =S;O=A">ขนาด</a></th><th><a href="?C=D;O=A">รายละเอียด</a></th></tr>
<tr><th colspan="5"><hr></th></tr>
<tr><th colspan="5"><hr></th></tr>
</ตาราง>
</body></html>
แก้ไข:
ฉันเพิ่งสังเกตเห็นสิ่งหนึ่ง ฉันมี -ดัชนี
ตั้งค่า แต่เนื้อหา HTTP ที่ส่งคืนเป็นดัชนีไดเร็กทอรี ดังนั้นฉันคิดว่าอาจจะมีการใช้โฮสต์เสมือนอื่นอยู่ ฉันยังไม่รู้ว่าเป็นไปได้อย่างไรเนื่องจากนี่เป็นพอร์ตเดียวที่ใช้พอร์ต 30000