ทำ Reverse Proxy เพื่อให้ใช้งานได้สะดวกขึ้นอีกขั้น
Reverse Proxy คืออะไร ผมขอข้าม ไปหาอ่านกันเอาเอง แต่ขอสรุปสั้น ๆ คือ เมื่อถึงจุด ๆ หนึ่งที่คุณใช้ NAS แล้วรู้สึกว่า
- แอพต่าง ๆ เริ่มเยอะ ทั้งจากใน Package Center หรือ จาก Docker เกิดหัวจะปวด ต้องมานั่งจำ port ว่าเลขไหนแอพอะไร
- เบื่อต้องเข้าไปยุ่งจัดการ foward port ซ้ำ ๆ ใน router
- รำคาญใช้ DDNS แล้วยังต้องพิมพ์ port อีก
การทำ Reverse Proxy จะแก้ปัญหาพวกนี้ได้ ยกตัวอย่างเช่น
สมมุติว่าคุณใช้ DDNS ว่า yourname.synology.me และ IP NAS คุณคือ 192.168.1.10 ทำ HTTPS แล้ว
| คุณกำลังจะเข้า |
URL เดิม (default port) |
ทำ Reverse Proxy แล้วจะได้ |
|
DSM (local) DSM (quickconnect) DSM (DDNS) |
https://192.168.1.10:5001 https://quickconnect.to/youname https://yourname.synology.me:5001 |
https://dsm.yourname.synology.me |
|
Synology Drive (แบบเดิม ๆ) Synology Drive (quickconnect+alias) |
เปิด DSM และคลิ๊ก icon เข้าไป https://quickconnect.to/yourname/drive/ https://yourname.quickconnect.to/drive/ |
https://drive.yourname.synology.me |
|
Docker App สมมุติใช้ port 7890) |
https://192.168.1.10:7890 https://yourname.synology.me:7890 |
https://appname.yourname.synology.me |
Reverse Proxy ก็จะเข้ามาแก้ตรงนี้ให้เป็นแบบคอลัมน์ที่ 3 ของตาราง ตามชื่อ subdomain ที่ตั้งให้มัน และคุณก็ไม่ต้องคอยเข้าไปที่ router เพื่อ foward port ทุกครั้งที่ใช้ port ใหม่ด้วย คุณเปิดแค่ port 80/443 เท่านั้นบน router พอ!
วิธีทำ - ครึ่งแรกจัดการ SSL เดิมให้รองรับการทำ Reverse Proxy
จัดการในส่วนของ HTTPS และ DDNS ให้เรียบร้อยก่อนค่อยอ่านต่อ
- กลับไปจัดการในส่วนของ HTTPS อีกครั้งโดยไปที่
Control Panel > Security > Certificate - จะเห็นว่าเรามี SSL ที่เป็นชื่อของเราทำงานอยู่สมมุติว่าเป็น yourname.synology.me
- กดปุ่ม
Addและเลือก Replace an existing certificate เลือก yourname.synology.me
- เลือกตามรูป
Domain name:ให้ใช้ DDNS ของคุณเอง ตามตัวอย่างคือ yourname.synology.meEmail:ใช้เมลล์เดิมตอนที่ทำ DDNS ไว้ครั้งแรกSubject Alternative Name:ให้ใช้ wildcard ตามตัวอย่างคือ*.yourname.synology.me
- เสร็จแล้วให้กด Done แล้วก็รอมันทำงานจนเสร็จ
- ดูตามรูปจะเห็นว่าในส่วนของ Subject Alternative Name จะมี wildcard เข้ามาแล้วพร้อมของเดิม
จบครึ่งแรก
วิธีทำ - ครึ่งหลัง การทำ Reverse Proxy
ตรวจสอบให้มั่นใจว่าคุณเปิด port 80/443 เรียบร้อยแล้วจาก router
ในเมื่อ Synology มีให้ใช้แล้วก็ใช้ของมันเองเพื่อความสะดวก เพราะจริง ๆ แล้วมันมี Nginx Proxy Manager อีกตัวที่นิยมใช้กันสมัย DSM 6 ซึ่งติดตั้งผ่าน Docker ได้ ซึ่งจากรายละเอียดที่เคยไปค้นมามันคือตัวเดียวกันกับของ Synology งั้นก็ไม่ต้องลงให้ลำบาก
- ไปที่
Control Panel > Login Portal > Advance - มองหาปุ่ม Reverse Proxy กดเข้าไป และกด Create
- ทีนี้ย้อนกลับมาดูตารางตัวอย่างอีกครั้ง เทียบกับหน้าจอ Create โดยดูส่วนที่ Highlight สีแดง
- จะเห็นว่าพวกแอพต่าง ๆ ที่เป็น Package จะไม่มี port ตรงนี้สามารถไปเปิดได้ในส่วนของ alias ถ้าต้องการทำ Reverse Proxy
| คุณกำลังจะเข้า |
URL เดิม (default port) |
ทำ Reverse Proxy แล้วจะได้ |
|
DSM (local) DSM (QuickConnect) DSM (DDNS) |
https://192.168.1.10:5001 https://quickconnect.to/youname https://yourname.synology.me:5001 |
https://dsm.yourname.synology.me |
|
Synology Drive (แบบเดิม ๆ) Synology Drive (QuickConnect+alias) |
เปิด DSM และคลิ๊ก icon เข้าไป https://quickconnect.to/yourname/drive/ https://yourname.quickconnect.to/drive/ |
https://drive.yourname.synology.me |
|
Docker App สมมุติใช้ port 7890) |
https://192.168.1.10:7890 https://yourname.synology.me:7890 |
https://appname.yourname.synology.me |
ขอยกตัวอย่างโดยการทำ DSM ให้เป็น Proxy
Reverse Proxy Name:ตั้งชื่ออะไรก็ได้ให้เข้าใจ ตามตัวอย่างคือ DSM- ฝั่ง Source
Protocol:HTTPS แน่นอนเพื่อความปลอดภัยHostname:https://dsm.yourname.synology.me ตั้งชื่ออะไรก็ตั้งตรงตัวหนา subdomainPort:443 ตามที่แนะนำตัวจาง ๆ
- ฝั่ง Destination
Protocol:ส่วนของ DSM และ Package ต่าง ๆ จะเป็น HTTPS นอกนั้น HTTPHostname:localhost ตามที่แนะนำตัวจาง ๆPort:มันคือเลขเดิมที่เราใช้เข้าแอพนั้น ๆ หรือส่วนสีแดงตามตารางด้านบน ตามตัวอย่างคือ 5001 เพราะเป็น DSM
- Save ให้เรียบร้อย และทดลองเข้าผ่าน browser
ถ้าเข้าไม่ได้ขึ้นอะไรต่าง ๆ นา ๆ ให้ดูจากที่มันแจ้ง Error ได้เลย ส่วนมากจะเป็น Destination ไม่ Protocol ก็ Port ผิด หรือไม่ได้เปิด port 80/443 ตั้งแต่แรก แต่อันนี้ดูง่ายเพราะน่าจะติดจอ router
มาถึงจุดนี้คุณก็จะมี subdomain มากมาย ซึ่งน่าจะจำง่ายกว่าเดิม ถ้ามีเยอะก็ควร Bookmark ไว้ หรือใช้ startpage เช่น Flame ช่วย





