ฉันรู้ว่านี่เป็นคำถามที่ซ้ำกันอย่างน้อยสองสามข้อ แต่ฉันได้อ่านมาแล้วหลายครั้งและฉันก็ยังทำอะไรผิดไป
ต่อไปนี้เป็นเนื้อหาของแฟ้ม myexample.com Nginx /etc/nginx/sites-available
การตั้งค่าของฉันอยู่ใน
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name myexample.com www.myexample.com;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
ssl_certificate /etc/letsencrypt/live/myexample.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myexample.com/privkey.pem;
#Configures the publicly served root directory
#Configures the index file to be served
root /var/www/myexample.com;
index index.html index.htm;
}
ใช้งานได้เมื่อฉันไปที่https://myexample.comเนื้อหาจะแสดงและการเชื่อมต่อนั้นปลอดภัย ดังนั้นการกำหนดค่านี้ดูเหมือนจะดี
ตอนนี้ถ้าฉันเปลี่ยนพอร์ต ssl เป็น 9443 และโหลดการกำหนดค่า nginx ใหม่การกำหนดค่าโหลดใหม่โดยไม่มีข้อผิดพลาด แต่การเข้าชมhttps://myexample.comแสดงข้อผิดพลาดในเบราว์เซอร์ (ไซต์นี้ไม่สามารถเข้าถึง / myexample.com ปฏิเสธที่จะ เชื่อมต่อ. ERR_CONNECTION_REFUSED)
ฉันได้พยายามเสนอแนะและเอกสารที่นี่ , ที่นี่และที่นี่ (อื่น) แต่ผมเคยได้รับข้อผิดพลาด ERR_CONNECTION_REFUSED
ฉันควรทราบว่าฉันสามารถใช้พอร์ตที่ไม่ได้มาตรฐานแล้วอย่างชัดเจนพิมพ์พอร์ตนั้นใน URL เช่นhttps://myexample.com:9443 แต่ฉันไม่ต้องการทำเช่นนั้น สิ่งที่ฉันต้องการคือให้ผู้ใช้พิมพ์ myexample.com ลงในเบราว์เซอร์ใดก็ได้และให้ nginx เปลี่ยนเส้นทางไปที่การเชื่อมต่อที่ปลอดภัยโดยอัตโนมัติ
อีกครั้งฉันไม่มีปัญหาใด ๆ เมื่อฉันใช้พอร์ต SSL มาตรฐาน 443
แก้ไข:ฉันใช้ nginx / 1.6.2 กับ debian / jessie