Nginx https 적용

dgh03207·2022년 5월 18일
0

배포

목록 보기
1/4
post-thumbnail
post-custom-banner

Nginx https 적용

certbotletsencrypt로 웹 사이트의 HTTPS 설정을 쉽게 도와주는 툴이다.

letsencrypt 는 보안 웹사이트를 위한 인증서를 발급해 주는 무료 인증기관이다.

certbot 공식 사이트 에 자세한 내용이 자세하게 나와있어 강추한다.

1. snapd 설치

snapd는 패키지 관리툴인데, certbot을 다운받을때, 다른 패키지 관리툴 예를 들어 apt 같은 것을 사용할 경우 제대로 설치가 안될 수 있으니 주의하자

2. snapd가 최신 버전인지 확인하기

sudo snap install core; sudo snap refresh core

3. certbot-auto 나 다른 certbot os packages 제거하기

apt dnf yum 등을 사용하여 certbot packages 를 다운받은 경험이 있다면 이것을 지워주자

//apt 사용시
sudo apt-get remove certbot

//dnf 사용시
sudo dnf remove certbot

//yum 사용시
sudo yum remove certbot

4. 이제 certbot을 다운받자!

sudo snap install --classic certbot

5. certbot을 돌리자

이것은 두가지 방식이 있는데 나는 공식문서에 나와있는 첫번째 방식으로 하였다.

이 두가지 방식의 차이는 configuration 설정을 자동으로 작성해줄지, 수동으로 작성해줄지의 차이다. 나는 자동으로 모두 작성해주는 방식을 선택하였다.

sudo certbot -nginx

이 명령어를 실행하면 차례차례 필요한 정보를 입력할 것이다...

⚠️ 이 명령어가 제대로 돌아가지 않는다면 반드시 확인해보아야 할 것이 있다. 바로 configuration 파일이다.

  • 첫번째, /etc/nginx/sites-availabledefault 파일을 확인하자.
  • 아무것도 없다면, 두가지 선택지가 있다.
    /etc/nginx/sites-available 안에 configuration 파일을 생성하거나,
    /etc/nginx 내에 있는 nginx.conf 파일을 여는 것이다.
    나는 새로 만드는걸 좀더 추천한다.
    - 새로 파일을 생성하는 경우, sites-enabledsymlink 를 생성해주는 작업이 필요하다.
    - sites-available 에서 파일을 생성하고, 선택적으로 sites-enabled 폴더에 동기화하여 적용시켜주는 작업이다. 필요한 작업이니 꼭 해주자.
            ```bash
            cd /etc/nginx/sites-available
            sudo ln -s /etc/nginx/sites-available/{생성파일} /etc/nginx/sites-enabled/
            ```
            
  • configuration 파일에서 server block안에 server-name 에 인증받을 사이트의 도메인 주소를 작성하자.
    도메인 주소가 만약, ‘myname.com’ 이라면,
    ```bash
    server{
    	server-name myname.com;
    }
    
    ```
    
    서버 블록이 없으면 서버블록을 만들어서 작성하면되는데,
    
     `nginx.conf` 안에다 작성하는 경우, `http` 블록안에 `server{}` 을 만들어 사용하자.

⚠️내가 이전에, ssl 설정을 했었다가 지운 상태에서 다시 시도를 할경우, ‘ssl어쩌구 pem 어쩌구하면서 찾을수 없다’ 이런 에러가 뜰것이다.

  • 본인의 configuration 파일에 들어가서 certbot 때문에 생긴 코드들을 모두 지워준다. (server 블록안에 생긴 코드들을 지워주면 된다)

Reference

profile
같이 공부하자!
post-custom-banner

0개의 댓글