Nginx 설치
sudo apt update
sudo apt install nginx -y
- Nginx 서비스 관리
sudo systemctl start nginx
sudo systemctl enable nginx
방화벽 UFW 포트 설정
sudo ufw allow 80
sudo ufw allow 443
- 도메인:80 으로 접속하면 Nginx 페이지를 확인 할 수 있음
HTTPS With CertBot
- Certbot 설치
sudo apt-get update
sudo apt-get install certbot
- 인증서 발급 및 설치
sudo certbot certonly --standalone -d ${domain}
- 인증서 위치 : /etc/letsencrypt/live/${doman}/
- 인증서 확인 :-
sudo certbot certificates
# 실행 결과
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: ${domain}
Domains: ${domain}
Expiry Date: 2024-01-21 04:51:09+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/${domain}/fullchain.pem
Private Key Path: /etc/letsencrypt/live/${domain}/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nginx.conf 파일
- 경로 : /etc/nginx/conf.d
- 설정 파일 생성
sudo vim nginx.conf
server {
listen 80;
server_name ${domain};
return 301 https://${domain}$request_uri;
}
server {
listen 443 ssl;
server_name ${domain};
ssl_certificate /etc/letsencrypt/live/${domain}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/${domain}/privkey.pem;
location / {
proxy_pass http://${domain}:3001; // 프론트 서버로 이동
add_header 'Cross-Origin-Embedder-Policy' 'require-corp';
add_header 'Cross-Origin-Opener-Policy' 'same-origin';
}
location /api/ {
proxy_pass http://${domain}:9996; // 백앤드 서버로 이동
charset utf-8;
proxy_set_header Host $http_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;
}
}
'Infra > NGINX' 카테고리의 다른 글
1. NGINX란? (웹 서버 사용 이유) (1) | 2024.01.30 |
---|