ฉันได้ลบไฟล์ทั้งหมดออกจาก /etc/nginx/sites-enabled/
ไดเรกทอรี
ฉันได้ลบไฟล์ทั้งหมดออกจาก /etc/nginx/sites-available/
ไดเรกทอรี
ฉันมีเพียงไฟล์เดียวใน /etc/nginx/conf.d/
เรียกว่า my-domain-name.com.conf
และประกอบด้วย:
เซิร์ฟเวอร์ {
ฟัง 80;
server_name my-domain-name.com www.my-domain-name.com;
ส่งคืน 301 https://$server_name$request_uri;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name my-domain-name.com www.my-domain-name.com;
ssl_certificate /etc/letsencrypt/live/my-domain-name.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain-name.com/privkey.pem;
รวม /etc/letsencrypt/options-ssl-nginx.conf;
ที่ตั้ง / {
proxy_pass http://localhost:4000;
}
}
ฉันพร็อกซีรับส่งข้อมูลไปยังคอนเทนเนอร์นักเทียบท่าที่รับฟังพอร์ต 4000
มันใช้งานได้ดีสำหรับ my-domain-name.com
และ www.my-domain-name.com
.
อย่างไรก็ตาม มันยังเปลี่ยนเส้นทาง ทั้งหมด ของโดเมนย่อยของฉันที่กำหนดไว้ใน DNS
นี่ไม่ใช่พฤติกรรมที่ตั้งใจไว้ ฉันต้องการให้ไฟล์นี้ให้บริการสองโดเมนนี้เท่านั้น ไม่ใช่มากกว่านี้
เกิดอะไรขึ้นที่นี่?
อัปเดต:
ฉันเพิ่มไฟล์อื่นที่เรียกว่า sudomain.my-domain-name.com.conf
และฉันได้เพิ่มการกำหนดค่านี้เข้าไปข้างใน:
เซิร์ฟเวอร์ {
ฟัง 80;
server_name subdomain.my-domain-name.com;
ส่งคืน 301 https://$server_name$request_uri;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name subdomain.my-domain-name.com;
ssl_certificate /etc/letsencrypt/live/my-domain-name.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain-name.com/privkey.pem;
รวม /etc/letsencrypt/options-ssl-nginx.conf;
ที่ตั้ง / {
proxy_pass http://localhost:3131;
}
}
และ nginx -t
แสดงความสำเร็จและ nginx -s โหลดซ้ำ
ยังใช้ แต่อีกครั้งเมื่อฉันไปที่ subdomain.my-domain-name.com
แทนที่จะรับนักเทียบท่าตัวที่สองที่ทำงานบนพอร์ต 3131 ฉันถูกเปลี่ยนเส้นทางอีกครั้ง my-domain-name.com
หน้าหนังสือ.