สร้างและรัน docker ที่ expose พอร์ท 80 ของ web server ไปยังพอร์ทใดๆ
เช่น ตั้งค่าใน docker compose
ports:
- "8800:80"
ลง nginx
sudo apt install nginx
สร้างไฟล์ sites-available
รันคำสั่ง
sudo vi /etc/nginx/sites-available/**your_domain**
ใส่เนื้อหาในไฟล์
server {
listen 80;
server_name **your_domain**;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:***port***;
}
}
ทำการ enable site โดยรัน
sudo ln -s /etc/nginx/sites-available/**your_domain** /etc/nginx/sites-enabled/
จากนั้น restart ทดสอบการ config และรีสตาร์ท nginx โดยรัน
sudo nginx -t
sudo systemctl restart nginx
สร้าง SSL โดย Apache certbot
ลง certbot โดยรัน
sudo apt install certbot python3-certbot-nginx
แล้วรัน certbot โดยระบุโดเมนที่ต้องการ (สามารถทำทีละหลายๆโดเมนได้โดยเว้นว่างระหว่างโดเมน)
sudo certbot --nginx -d **your_domain**
ตรวจสอบสถานะ และทดสอบรัน certbot
sudo systemctl status certbot.timer
sudo certbot renew --dry-run