ดร
ฉันลองตั้งค่า nginx เพื่อส่งต่อการเชื่อมต่อ TCP ผ่าน 6690 ไปยัง Synology Drive แต่เมื่อใช้ ฟัง 6690 ssl;
Synology Drive Client ไม่พบ NAS และเมื่อใช้งาน ฟัง 6690;
(ไม่มี SSL) พบ NAS แต่ใช้ใบรับรองที่ไม่ได้ลงนามแทนใบรับรองที่จัดเก็บด้วย nginx มีแนวคิดอย่างไรในการเปิดใช้งาน SSL และใช้ nginx reverse proxy กับ Synology Drive
บทนำ
ฉันพบโพสต์/คำถามหลายข้อที่อธิบายวิธีตั้งค่าการเชื่อมต่อ SSL กับ Synology NAS โดยใช้ nginx เป็น reverse proxy บนคอมพิวเตอร์เครื่องอื่น ด้วยเหตุนี้ เมื่อเข้าถึง (https://)my-domain.com ฉันสามารถ (แล้ว) เข้าถึงเว็บไซต์การตั้งค่าของ Synology Drive ของฉัน (เช่น DSM ที่เข้าถึงได้ผ่านพอร์ต 5000/5001) อย่างไรก็ตาม ฉันยังต้องการตั้งค่า Synology Drive ให้ใช้ใบรับรอง SSL เดียวกันจาก Let's Encrypt แต่ฉันประสบปัญหาในการตั้งค่า nginx
คำถาม
ดังนั้น ฉันต้องการเพียงการกำหนดค่า Synology Drive และตั้งค่า DNS ของ drive.my-domain.com เพื่อเข้าถึงเราเตอร์ของฉันนอกจากนี้ ฉันได้รับใบรับรอง SSL สำหรับโดเมนนี้และได้ปรับพอร์ต Synology Drive HTTPS เป็น 10003 ในเราเตอร์ของฉัน ฉันส่งต่อพอร์ต 80, 443 และ 6690 ไปยังพร็อกซีย้อนกลับของฉันตามที่แนะนำ ที่นี่. สำหรับ nginx ฉันกำหนดค่า /etc/nginx/conf.d/synology.conf
:
รวม /etc/letsencrypt/options-ssl-nginx.conf;
เซิร์ฟเวอร์ {
ฟัง 80;
server_name drive.my-domain.com default_server;
# สำหรับ Let's Encrypt การตรวจสอบ
ที่ตั้ง ^~ /.well-known {
อนุญาตทั้งหมด
รูท /data/letsencrypt/;
}
}
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง 443 ssl;
server_name drive.my-domain.com;
ที่ตั้ง / {
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://<IP-OF-SYNOLOGY-NAS>:10003;
proxy_read_timeout 90;
}
ssl_certificate /etc/letsencrypt/live/drive.my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/drive.my-domain.com/privkey.pem;
รวม /etc/letsencrypt/options-ssl-nginx.conf;
ถ้า ($scheme != "https") {
ส่งคืน 301 https://$host$request_uri;
}
}
นอกจากนี้ ฉันได้เพิ่มบรรทัดต่อไปนี้ใน /etc/nginx/nginx.conf
:
...
รวม /etc/nginx/fallthrough.conf;
และ /etc/nginx/fallthrough.conf
มีดังต่อไปนี้:
ลำธาร {
synology_drive ต้นน้ำ {
เซิร์ฟเวอร์ <IP-OF-SYNOLOGY-NAS>:6690;
}
เซิร์ฟเวอร์ {
ฟัง 6690 ssl;
proxy_pass synology_drive;
ssl_certificate /etc/letsencrypt/live/drive.my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/drive.my-domain.com/privkey.pem;
}
}
อย่างไรก็ตาม เมื่อพยายามตั้งค่า Synology Drive Client ไม่สามารถเชื่อมต่อ/ค้นหา Synology NAS ได้ เมื่อเปลี่ยน /etc/nginx/fallthrough.conf
เพื่อไม่ใช้ SSL เช่น:
ลำธาร {
synology_drive ต้นน้ำ {
เซิร์ฟเวอร์ <IP-OF-SYNOLOGY-NAS>:6690;
}
เซิร์ฟเวอร์ {
ฟัง 6690;
proxy_pass synology_drive;
}
}
พบ Synology NAS แต่ใช้ใบรับรองที่ลงนามเองซึ่งจัดเก็บไว้บน NAS แทนใบรับรองจาก Let's Encrypt ที่จัดเก็บไว้ในคอมพิวเตอร์พร็อกซีย้อนกลับ
ไม่มีใครรู้ว่าฉันเป็นอะไรหรืออาจทำอะไรผิดที่นี่?