NGINX Proxy เป็นซอฟต์แวร์ที่ทำหน้าที่เป็นพร็อกซีเซิร์ฟเวอร์ (Proxy Server) ซึ่งเป็นตัวกลางระหว่างผู้ใช้ (Client) และเซิร์ฟเวอร์ที่ให้บริการข้อมูล (Backend Server) มีบทบาทสำคัญในการจัดการทราฟฟิกให้กับเว็บแอปพลิเคชันหรือเว็บเซิร์ฟเวอร์ ช่วยเพิ่มประสิทธิภาพและความปลอดภัยของระบบ นี่คือรายละเอียดเพิ่มเติม:
4.เมื่อเข้าสู่ระบบแล้ว จะต้องทำการเปลี่ยน email และ รหัสผ่านใหม่
ประเภทของ NGINX Proxy
Reverse Proxy:
- ทำหน้าที่รับคำขอจากผู้ใช้ (Client) และส่งต่อไปยังเซิร์ฟเวอร์ที่แท้จริง (Backend Server) จากนั้นนำคำตอบที่ได้กลับไปส่งให้กับผู้ใช้ การใช้งาน Reverse Proxy มีประโยชน์ในการปกปิดที่อยู่ของเซิร์ฟเวอร์ที่แท้จริง เพิ่มความปลอดภัย และสามารถทำการโหลดบาลานซ์ (Load Balancing) เพื่อกระจายโหลดไปยังเซิร์ฟเวอร์หลายตัวได้
 
Forward Proxy:
- เป็นตัวกลางที่ทำงานในฝั่งของผู้ใช้ รับคำขอจากผู้ใช้และส่งต่อไปยังปลายทางที่ต้องการ Forward Proxy มักใช้ในการควบคุมการเข้าถึงอินเทอร์เน็ตจากภายในองค์กร เช่น กำหนดสิทธิ์ในการเข้าถึงเว็บไซต์ต่าง ๆ
 
การใช้งาน NGINX Proxy
- โหลดบาลานซ์ (Load Balancing): กระจายโหลดการทำงานไปยังเซิร์ฟเวอร์หลายตัวเพื่อเพิ่มประสิทธิภาพและความเสถียรของระบบ
 - แคช (Caching): เก็บข้อมูลที่มีการเรียกใช้บ่อยไว้ในหน่วยความจำ (Cache) เพื่อลดภาระการประมวลผลและเพิ่มความเร็วในการตอบสนอง
 - เพิ่มความปลอดภัย: ซ่อนที่อยู่ของเซิร์ฟเวอร์ที่แท้จริงจากผู้ใช้ภายนอก ป้องกันการโจมตีเช่น DDoS และสามารถจัดการกับ SSL/TLS เพื่อเข้ารหัสข้อมูลระหว่างผู้ใช้กับพร็อกซี
 
การใช้งานมีดังนี้
1. สร้างไฟล์ docker-compose.yml โดยมี code ดังนี้
version: '3.7'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    # Uncomment the next line if you uncomment anything in the section
    environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      DB_SQLITE_FILE: "/data/database.sqlite"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
2. รันคำสั่ง docker-compose up -d ที่ command line
3. เข้าสู่เว็บไซต์ที่ใช้จัดการ nginx proxy โดยตัวอย่างเรียกผ่าน http://localhost:81 ทั้งนี้ขึ้นอยู่ที่ผู้ติดตั้งไว้ที่ไหน หลังจากนั้นจะปรากฎหน้าจอ login เข้าใช้งานครั้งแรกจะเป็นการกำหนดรหัสผ่านของ admin ให้ใส่ email กับ password ของ admin หลัก
Email: admin@example.com
Password: changeme
4.เมื่อเข้าสู่ระบบแล้ว จะต้องทำการเปลี่ยน email และ รหัสผ่านใหม่

ความคิดเห็น
แสดงความคิดเห็น