먼저 아래 명령어로 도커에 ctfd를 올려준다.
docker run -p 8000:8000 -itd ctfd/ctfd
https는 인증서를 필요로 하기 때문에 사용자에게 무료로 TLS 인증서를 발급해주는 비영리기관인 Let's Encrypt를 사용하여 인증서를 발급 받는다.
sudo apt update
sudo apt install -y certbot python3-certbot-nginx
sudo apt install -y nginx
sudo vi /etc/nginx/sites-available/ctfd
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
sudo ln -s /etc/nginx/sites-available/ctfd /etc/nginx/sites-enabled/
sudo nginx -t # 설정 테스트
sudo systemctl reload nginx
sudo certbot --nginx -d your-domain.com
sudo systemctl reload nginx