การเข้าถึง IT-Tools
- เปิด browser และไปที่:
https://<SERVER_IP> - คาดว่าจะมีคำเตือน SSL ของ browser (self-signed certificate)
- ต้องมีการยืนยันตัวตน (Basic Auth popup)
- วิธียืนยันตัวตน: HTTP Basic Auth
- ข้อมูล credentials ถูกเก็บอย่างปลอดภัยใน:
/root/.cloudzy-creds
ไฟล์และไดเรกทอรีที่สำคัญ
- ไดเรกทอรีติดตั้ง:
/root/it-tools - ไฟล์ Docker Compose:
/root/it-tools/docker-compose.yml - ข้อมูลประจำตัวที่บันทึกไว้:
/root/.cloudzy-creds - เซิร์ฟเวอร์เสมือน Nginx:
/etc/nginx/sites-available/it-tools.conf - ไฟล์ Basic Auth:
/etc/nginx/auth/it-tools.htpasswd - ใบรับรอง TLS:
/etc/nginx/ssl
หมายเหตุด้านความปลอดภัย
- IT-Tools ไม่ได้เปิดเผยต่อเครือข่ายโดยตรง
- Only Nginx ฟังบนพอร์ตสาธารณะ
- การเข้าถึงได้รับการป้องกันด้วย Basic Auth
- TLS ใช้ใบรับรองแบบ self-signed
- ข้อมูลรับรองความถูกต้องถูกจัดเก็บด้วยสิทธิ์การเข้าถึงที่จำกัด
เปิดใช้งาน SSL กับโดเมน
1. ชี้โดเมนของคุณไปยัง IP ของ server
2. แก้ไข config ของ Nginx และเปลี่ยนทั้งคู่ server_name <IP>; กับโดเมนของคุณ (<your-domain>) สำหรับทั้ง HTTP (port 80) และ HTTPS (port 443) blocks:
vim /etc/nginx/sites-available/it-tools.conf
3. ติดตั้ง Certbot:
apt install -y certbot python3-certbot-nginx
4. รันคำสั่งต่อไปนี้เพื่อสร้าง Let’s Encrypt certificate ที่ใช้ได้:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. แทนที่ SSL paths ใน Nginx config:
vim /etc/apache2/sites-available/it-tools.conf
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. รีสตาร์ท Nginx เพื่อใช้การเปลี่ยนแปลง:
systemctl restart nginx
7. เปิด browser และไปที่: https://yourdomain.com