- คุณไม่มีใบรับรอง TLS ดังนั้นแม้ว่าคุณจะกำหนดค่าการเปลี่ยนเส้นทาง เบราว์เซอร์ก็จะตอบกลับด้วยข้อผิดพลาดของใบรับรองเท่านั้น
คุณต้องกำหนดค่า
ssl_certificate
และ ssl_certificate_key
คำสั่ง
และคุณต้องระบุ เอสเอสแอล และ http2 ในคำสั่งการฟังสำหรับ HTTP/2
สำหรับ HTTP/3 http3 หมายถึงบังคับ ssl ดังนั้นไม่ เอสเอสแอล ควรระบุคำสั่งในกรณีนั้น
การกำหนดค่าของคุณมีการวนซ้ำการเปลี่ยนเส้นทางไม่สิ้นสุดซึ่งทำให้เซิร์ฟเวอร์ใช้งานไม่ได้
โดยเฉพาะอย่างยิ่งคุณกำลังเปลี่ยนเส้นทางไปยัง HTTPS อย่างไม่สิ้นสุด
เซิร์ฟเวอร์ของคุณไม่รองรับ IPv6
คุณควรทำสิ่งนี้:
เซิร์ฟเวอร์ {
ฟัง 0.0.0.0:80 default_server;
ฟัง [::]:80 default_server;
ที่ตั้ง / {
ส่งคืน 308 https://$host$request_uri/something;
}
}
เซิร์ฟเวอร์ {
ฟัง 0.0.0.0:443 http3 reuseport;
ฟัง 0.0.0.0:443 http2 ssl;
ฟัง [::]:443 http3 reuseport;
ฟัง [::]:443 http2 ssl;
server_name $โดเมนของคุณ;
ssl_certificate $CERT_PATH;
ssl_certificate_key $CERT_KEY;
[...]
}
ดูเพิ่มเติมที่เครื่องมือกำหนดค่า Mozilla TLS เพื่อช่วยคุณ:
https://ssl-config.mozilla.org/
และปรับให้เข้ากับความต้องการของคุณ
หมายเหตุ: บรรทัดการกำหนดค่าด้านบนเกี่ยวกับ http3 จะมีประโยชน์ก็ต่อเมื่อคุณคอมไพล์ NGINX ด้วยการสนับสนุน HTTP/3 ซึ่งมีเฉพาะในสาขา nginx-quic เท่านั้น