상세 컨텐츠

본문 제목

[One-pick] 서버 설정(2) - SSL 설정

본문

현재상황


    추가 남은 설정  -   2. SSL 설정     

1) NGINX 설정

2) SSL 적용


0) 80번 포트를 사용하고 있는 서비스 중지

docker stop 컨테이너ID

> Frontend 컨테이너가 80번 포트 사용중 -> 중지!

> 앞으로 Frontend 포트를 3000번으로 사용할 것이다!

Nginx에 요청이 들어오면 3000번으로 포트포워딩을 해주려고 한다!


1) NGINX 설정

- Nginx 설치

sudo apt update
sudo apt install nginx


- 방화벽 확인 & 443, 80, 22 포트 열어줌

Nginx Full : 80, 443 / Nginx HTTP : 80 / Nginx HTTPS : 443

sudo ufw app list
sudo ufw allow 'Nginx HTTPS'
sudo ufw allow 'OpenSSH'
sudo ufw enable
# sudo ufw disable # 방화벽 작동 해제
# sudo ufw delete allow 'OpenSSH' # Openssh 허용 해제

- 방화벽 허용 포트 확인

sudo ufw status

- Nginx 동작 확인

systemctl status nginx

nginx가 정상동작 중이다!
잘 동작한다!


Nginx 명령어

# nginx 버전 확인.
nginx -version
# nginx 기본 명령어.
sudo systemctl start nginx   # nginx 시작
sudo systemctl enable nginx  # 부팅시 자동실행
sudo systemctl status nginx  # 상태 확인
sudo systemctl stop nginx    # nginx 중지
# 실행 중 에러확인.
journalctl -xe
더보기

nginx에 대해 알아보자

- /etc/nginx/ 

엔진엑스 서버가 사용하는 기본 설정이 저장된 루트 디렉터리, 이곳에 저장된 설정 파일의 내용에 따라 동작함

- 기본 서버 설정 파일 : /etc/nginx/conf.d/default.conf

엔진엑스 기본 설정 파일, 모든 설정에 대한 진입점

워커 프로세스 개수, 튜닝, 동적 모듈 적재와 같은 글로벌 설정 항목

세부 설정 파일에 대한 참조 지정 

- 기본 서버 설정 파일 : /etc/nginx/conf.d/**

.conf로 끝나는 파일은 앞서 언급한 /etc/nginx/nginx.conf 파일이 가진 최상위 http 블록에 포함됨

include 구문을 활용해 구조화함으로써 각 설저어 파일을 간결하게 유지하면 좋음

conf.d 디렉터리 대신 side-enabled 디렉터리가 있고, symlink를 통해 site-available 디렉터리에 저장된 설정 파일들이 연결되어 있을 수 있음

- /var/log/nginx

엔진엑스의 로그가 저장되는 디렉터리. access.log와 error.log 파일

엔진엑스 서버가 수신한 개별 요청에 대한 로그를 저장하며 오류 로그 파일은 오류 발생 시 이벤트 내용을 저장함

debug 모듈 활성화시 디버그 정보도 오류 로그 파일에 기록

- 기본 웹 루트 디렉토리 : /usr/share/nginx/html


웹 서버 설정

sudo vi /etc/nginx/sites-available/one-pick-go
server {

	 listen 80;
   	 listen [::]:80;
	
    server_name one-pick-go www.one-pick-go.com;
	
	location / {
    		proxy_pass http://127.0.0.1:3000;
  	}

}

- /etc/nginx/sites-enabled/ 경로에 링크, Nginx가 시작될 때 읽는 곳

sudo ln -s /etc/nginx/sites-available/one-pick-go /etc/nginx/sites-enabled/
sudo vi /etc/nginx/nginx.conf

# server_names_hash_bucket_size 64; 주석 처리 취소

- nginx 설정 파일 제대로 작성했는지 (문법 확인)

sudo nginx -t

- nginx 설정 적용을 위해 restart 한다

sudo systemctl restart nginx

SSL설정 (Certbot활용)

sudo snap install core; sudo snap refresh core

 

sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

- SSL 설정!

sudo certbot --nginx -d one-pick-go.com

주의) EC2 인바운드 정책에 443 포트 확인!

SSL 설정 완료!


현재까지 결과


참고)

AWS System Manager 로 접근

https://blog.naver.com/PostView.naver?blogId=zozokjs&logNo=222863021597&categoryNo=85&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search

 

AWS - network error connection timed out 방화벽 관련

아래는 AWS 인스턴스 생성 -> SSH 방식으로 리눅스 우분투 서버에 접속 -> 방화벽 작업이 미완...

blog.naver.com

- 처음부터 22번 포트 막아두고 사용하기

https://musma.github.io/2019/11/29/about-aws-ssm.html

 

AWS SSM으로 EC2 인스턴스에 접근하기 (SSH 대체)

목차 서론 들어가기: 더 좋은 방법 대상 독자 SSM: AWS Systems Manager 원격 호스트 접속 방법 비교: SSH (기존) vs. SSM (개선) S...

musma.github.io

 

- Nginx 설치

https://velog.io/@mero/ubuntu-22.04%EC%97%90-Nginx-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

ubuntu 22.04에 Nginx 설치하기

참고 링크 : https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-22-04Nginx는 세계에서 가장 유명한 웹서버 중 하나이다.nginx는 설치될 때 ufw에 자신을

velog.io

- SSL 설정

 

https://velog.io/@mero/ubuntu-22.04%EC%97%90%EC%84%9C-Nginx-%EC%95%94%ED%98%B8%ED%99%94%ED%95%98%EA%B8%B0

 

ubuntu 22.04에서 Nginx 암호화하기

참고 사이트 : https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04이 전글에서 이어서 진행certbot이란걸 하기전에 먼저 s

velog.io

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04

 

How To Secure Nginx with Let's Encrypt on Ubuntu 22.04 | DigitalOcean

 

www.digitalocean.com

 

- 방화벽 설정 관련 명령어 모음

https://manpd.tistory.com/231

 

UFW 설정하기(Ubuntu 화이트리스트)

# ufw 활성화 ufw enable # ufw 비활성화 ufw disable # ufw 상태확인 ufw status verbose # 기본 룰 확인 ufw show raw # 기본 정책 차단 ufw default deny # 기본 정책 허용 ufw default allow # SSH 포트 22번 허용(tcp/udp 22번 포트

manpd.tistory.com

 

관련글 더보기

댓글 영역