본문 바로가기
프로그래밍

Ubuntu에서 Nginx로 https 설정하기

by bantomak 2024. 9. 4.

Nginx를 설치하고 실행해보자

리눅스 환경에서 Nginx 설치를 위해서는 아래의 명령어를 입력해 주면 된다.

 

sudo apt-get install nginx

설치 후 Nginx를 실행하기 위해서는 아래의 명령어 중에서 하나를 입력해 주자.

 

service nginx start
# or
sudo service nginx start
# or
sudo systemctl start nginx

Nginx 설정 변경하기

Nginx 설정을 위한 파일의 위치는 /etc/nginx/conf.d 디렉터리 하위의 default.conf로 접근하면 된다.

혹시나, conf.d 디렉터리 아래에 기본 설정 파일이 없다면 sites-available 디렉터리 하위를 찾아보자.

 

해당 위치에 default 파일이 존재한다.

 

site-enabled 디렉터리를 Nginx 설정 파일 경로로 사용하기 위해 nginx.conf(Nginx의 기본 설정 파일)에서 설정해줘야 한다.

기본 설정값은 아래와 같다.

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

 

conf.d 하위의 설정 파일과 sites-enabled 하위 설정값을 읽는다고 되어있다. 일단 로컬에 conf.d 하위에 설정파일이 존재하지 않기 때문에 sites-enabled 하위의 설정을 읽는다.

 

해당 파일에 대해서 살펴보면 sites-available의 default 파일의 바로가기이므로 sites-available 하위의 default를 변경하면 적용된다. 이제 default 파일의 내용을 수정해보자.

 

80 포트를 오픈하기 위한 기본 설정

server {
        listen 80;

        server_name {localhost 혹은 도메인};

        location / {
            proxy_pass http://localhost:3000;
        }
}

:

https 통신을 위한 443 포트 설정 추가

server {
        listen 80;
        listen 443 ssl;

        server_name {localhost 혹은 도메인};
        
        ssl_certificate         /해당 위치 경로/cert.pem;
        ssl_certificate_key     /해당 위치 경로/key.pem;


        location / {
            proxy_pass http://localhost:3000;
        }
}

 

  • 설정 파일에 listen 443 ssl; 문구를 추가해 준다.
  • key.pem crt.pem 파일을 연결해 준다.
  • nginx를 재시작한다.

PEM 파일 생성 가이드

 

HTTPS 통신을 위한 자체 인증 SSL 인증서 만들기

전반적인 과정OpenSSL 다운로드Private Key 생성인증서 요청(CSR) 파일 생성(private.csr)자체 서명하기 위해서 rootCA 생성자체 서명한 인증서 생성(private.crt)pem 확장자로 변환NGINX config 파일에서 해당 파일

jettstream.tistory.com

 

설정 파일 변경 사항을 적용하기 위해 아래 재실행 명령어로 nginx를 재시작해주자.

service nginx restart
# or
sudo service nginx restart
# or
sudo systemctl restart nginx

 

참고 사이트

 

[Ubuntu] Nginx 설정

[Ubuntu] Nginx 설정 이 글에서는 Ubuntu에서 Nginx의 기본적인 설치와 설정에 대해서 정리하고자 한다. Nginx 설치 Nginx 설치를 위해서는 아래 명령어를 입력해주면 된다. sudo apt-get install nginx 설치 후 Ngin

computer-science-student.tistory.com

댓글