728x90
반응형
이전 글에서 이어지는 내용
1. 도메인 구입 및 DNS 설정
먼저 도메인을 구입하고, 해당 도메인의 DNS 설정을 통해 도메인이 로컬 서버의 IP 주소를 가리키도록 해야 합니다.
- 도메인 구입: GoDaddy, Namecheap, Google Domains 등에서 도메인을 구입합니다.
필자는 내도메인.한국 - 한글 무료 도메인 등록센터 (xn--220b31d95hq8o.xn--3e0b707e)
여기를 이용했다 저렴한것도 여럿 있긴한데 공부하면서 돈쓰기엔 조금 그러니까 무료를 이용했습니다. - DNS 설정: 도메인 제공업체의 DNS 설정 페이지에서 다음을 설정합니다.
- A 레코드: @ 또는 원하는 서브도메인(www, ctf 등)을 설정하고, 서버의 공인 IP 주소(외부에서 접근 가능한 IP)를 입력합니다.
- IP 주소가 동적이라면, DDNS 서비스(예: No-IP, DuckDNS)를 사용해 IP가 변경될 때 자동으로 업데이트되도록 할 수 있습니다.
내도메인.한국 - 한글 무료 도메인 등록센터
한글 무료 도메인 내도메인.한국, 웹포워딩, DNS 등 무료 도메인 기능 제공
xn--220b31d95hq8o.xn--3e0b707e
2. 로컬 서버에 포트 포워딩 설정
서버에 접근하기 위해 라우터에서 포트 포워딩을 설정해야 합니다.
- 라우터 접속: 라우터 설정 페이지에 접속하여 포트 포워딩 설정을 엽니다.
- 포트 포워딩 추가: 다음과 같이 설정합니다.
- 외부 포트: 80 (HTTP)과 443 (HTTPS)
- 내부 포트: 80과 443
- 내부 IP 주소: 로컬 서버의 IP (예: 192.168.1.10)
3. Nginx를 사용해 Reverse Proxy 설정
Ubuntu에서 Nginx를 설치하고 Reverse Proxy 설정을 통해 도메인으로 접근할 수 있도록 합니다.
Nginx 설치
sudo apt install nginx -y
Nginx 설정 파일 생성 및 편집
# /etc/nginx/sites-available 디렉토리에 새 설정 파일을 만듭니다.
# 예를 들어, ctfd.conf라는 파일을 생성합니다.
sudo nano /etc/nginx/sites-available/ctfd.conf
다음 내용을 추가합니다. 이 설정은 HTTP에서 HTTPS로 리디렉션하고, 도메인에 접근하면 CTFd에 연결되도록 합니다.
server {
listen 80;
server_name yourdomain.com; # 여기에 사용할 도메인 입력
location / {
proxy_pass http://localhost:8000; # CTFd가 동작하는 로컬 주소와 포트
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Nginx 설정 활성화 및 테스트
Nginx 설정을 활성화하고 테스트한 후 서비스를 재시작합니다.
sudo ln -s /etc/nginx/sites-available/ctfd.conf /etc/nginx/sites-enabled/
sudo nginx -t # 설정 테스트
sudo systemctl restart nginx
4. SSL 인증서 설정 (Let's Encrypt)
보안을 위해 HTTPS를 사용하는 것이 좋습니다. Let's Encrypt를 사용해 무료 SSL 인증서를 설정할 수 있습니다.
Certbot 설치
sudo apt install certbot python3-certbot-nginx -y
SSL 인증서 발급
sudo certbot --nginx -d yourdomain.com
명령어를 입력하면 이메일 주소와 인증 요청을 승인하는 과정을 거치게 됩니다.
자신의 이메일 주소와 y입력
자동 갱신 설정
SSL 인증서는 90일마다 갱신이 필요하므로 자동 갱신 설정을 확인합니다.
sudo certbot renew --dry-run
더보기


이러런 error창이 뜰 경우가 있는데 아무래도 무료 도메인 무료 인증서를 발급 받는 경우가 많은거 같아 발급 제한에 걸린 경우다 있다.
728x90
반응형
'실 없는 개발' 카테고리의 다른 글
간단한 CTF 페이지 개발 (9) | 2024.09.07 |
---|---|
환경 구축 (0) | 2024.08.05 |
개인 오프라인 챗봇 개발 시작 (0) | 2024.08.05 |