ในอนาคตอันใกล้ฉันจะมีเซิร์ฟเวอร์ 3 nginx หนึ่งคือ reverse proxy สำหรับ SSL สำหรับอีกสองรายการ ตัวอย่างเช่นฉันไปที่:
https://www.mysitename.com/site1
เซิร์ฟเวอร์อื่นสองตัวในตัวอย่างนี้คือ site1 และ site2 ฉันติดตั้งใบรับรอง SSL บนพร็อกซีและฉันต้องการใช้ reverse proxy (ไม่จำเป็นต้องใช้ SSL เนื่องจากทั้ง 3 อยู่ในเครือข่ายภายใน) สำหรับการทดสอบฉันมี nginx ที่ฟัง 443 สำหรับ SSL / reverse-proxy ฟัง พอร์ต 8081 ซึ่งเป็นแอพพลิเคชั่นรางสำหรับไซต์ 1 และ 8082 สำหรับไซต์ 2
ฉันมีสิ่งนี้ ...
server {
listen 443;
server_name mysitename.com;
ssl on;
ssl_certificate ssl/mysitename.com.crt;
ssl_certificate_key ssl/mysitename.com.key;
keepalive_timeout 60;
location /site1 {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;
}
location /site2 {
proxy_pass http://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;
}
}
ดังนั้นเมื่อฉันไปที่ www.mysitename.com/site1 ฉันต้องการให้มันคืนสิ่งที่ตามปกติจะมาจาก localhost: 8081 (หรือหลังจากนั้นก็เป็น IP ภายในสำหรับเซิร์ฟเวอร์อื่น)
มีวิธีให้แถบ "site1" จากการโทร localhost หรือไม่ สิ่งที่ดูเหมือนจะทำคือการใช้ localhost: 8081 / site1 ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์ไซต์มีลักษณะ "/ ล็อกอิน / ดัชนี" หรือ "/ ก็ตาม / รายการ", ฯลฯ โดยไม่มี "ไซต์ 1"
นอกจากนี้ยังมีการเปลี่ยนเส้นทางในตัวควบคุมไซต์ (โดยใช้ redirect_to) ที่เปลี่ยนจากสิ่งต่าง ๆ เช่น / login / index ไปยัง / what / list
ฉันจะต้องออกแบบ URL ของเว็บไซต์ใหม่เพื่อใช้ site1 หรือไม่ หรือพร็อกซี NGINX สามารถหาได้หรือไม่
ขอบคุณ