เป็นไปได้หรือไม่ที่จะมีโฮสต์เสมือน (สอง) หลายโฮสต์ (ไซต์/แอปพลิเคชัน) ทั้งสองผ่าน HTTPS ในอินสแตนซ์เดียวของ Nginx
ฉันได้ลองบางอย่างเช่น
ต้นน้ำ {
แอปเซิร์ฟเวอร์:8080;
}
ต้นน้ำ ข {
แอปเซิร์ฟเวอร์ 2:5678;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl http2;
server_name sub.example.com;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/certs/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam-2048.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ปิด ssl_prefer_server_ciphers;
เปิด ssl_stapling;
เปิด ssl_stapling_verify;
ตัวแก้ไข 8.8.8.8;
ที่ตั้ง / {
add_header การขนส่งที่เข้มงวด - ความปลอดภัย "อายุสูงสุด = 31536000; includeSubDomains; โหลดล่วงหน้า";
proxy_set_header X-ส่งต่อโปรโต https;
proxy_set_header โฮสต์ $http_host;
ปิด proxy_redirect;
proxy_pass http://ยูนิคอร์น;
}
เซิร์ฟเวอร์ {
ฟัง 5678 ssl http2;
server_name sub.example.com;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/certs/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam-2048.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ปิด ssl_prefer_server_ciphers;
เปิด ssl_stapling;
เปิด ssl_stapling_verify;
ตัวแก้ไข 8.8.8.8;
ที่ตั้ง / {
add_header การขนส่งที่เข้มงวด - ความปลอดภัย "อายุสูงสุด = 31536000; includeSubDomains; โหลดล่วงหน้า";
proxy_set_header X-ส่งต่อโปรโต https;
proxy_set_header โฮสต์ $http_host;
ปิด proxy_redirect;
proxy_pass http://unicorn2;
}
}
แอป 'a' สามารถเข้าถึงได้ อย่างไรก็ตาม แอป 'b' ไม่ใช่ ฉันได้รับ รหัสข้อผิดพลาด: SSL_ERROR_RX_RECORD_TOO_LONG
.
แอพทั้งสองควรทำงานบนโดเมนย่อยเดียวกัน