Certbot จะไม่ออกใบรับรองสำหรับ vhost biding พอร์ต 80 เท่านั้น เนื่องจากพอร์ต 80 เป็นโปรโตคอล http ที่ไม่ปลอดภัยอย่างแท้จริง
คุณต้องเพิ่มการเสนอราคาพอร์ต 443 ให้กับ vhost ที่พร้อมใช้งานซึ่งก็คือ https เว้นแต่คุณจะใช้ปลั๊กอิน Certbot Apache2 โดยเรียก Certbot ด้วยตัวเลือก --apache
<VirtualHost *:80>
ServerName www.example.com
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost>
และไม่แน่ใจว่าจะเข้าใจประเด็นของคุณเกี่ยวกับการเปลี่ยนเส้นทาง
แต่อย่าคาดหวัง certbot ออกใบรับรองสำหรับการเปลี่ยนเส้นทางเนื่องจากใบรับรองเชื่อมโยงกับชื่อโฮสต์ (url) และจะติดตามโดเมนก่อนที่จะออกใบรับรอง
แต่ถ้าคุณกำลังพูดถึงการเปลี่ยนเส้นทาง www.example.com ถึง https://example.comคุณสามารถเพิ่มลงใน *:80 vhost ของคุณ
เปลี่ยนเส้นทาง / https://www.example.com/
และลืมสิ่งที่เป็นที่รู้จักและชี้ให้เห็น root webdir ของคุณโดยใช้ certbot เนื่องจากไม่มีความจำเป็น
ตราบใดที่ชื่อโฮสต์ที่คุณต้องการให้มีใบรับรอง ssl vhost ของคุณควรผูกพารามิเตอร์พอร์ต *:443 และเป็นไซต์ที่เปิดใช้งาน apache2 อยู่แล้ว a2enssite <your-site.conf / your-site.vhost>
Certbot จะทำส่วนที่เหลือ
และที่จริงฉันเพิ่งรู้ว่ามีโอกาสที่ Certbot จะตรวจพบไซต์ Apache2 ของคุณแม้ว่าจะไม่มีพอร์ต 443 ก็ตาม และจะจัดการให้คุณ แก้ไขให้ฉันหากฉันผิดเพราะไม่ได้ใช้งานมาเป็นเวลานาน
แต่ตราบใดที่ชื่อโฮสต์/โดเมน/ชื่อ/url ของคุณเรียกตามที่คุณต้องการ สามารถเข้าถึงได้ในเบราว์เซอร์หรือส่งคืน ip โดย ping url ของคุณ (นอกเครือข่ายท้องถิ่นของคุณ) คุณก็ไม่จำเป็นต้องแก้ไขอะไร
และอย่าลืมใช้ตัวเลือก Certbot --apache สิ่งนี้จะทำให้งานง่ายขึ้นมาก คุณต้องติดตั้งแพ็คเกจก่อน (sudo apt install python3-certbot-apache) หรืออะไรทำนองนั้น