기타/인프라 구축과정

[문제점] Infra. Nginx 오류 (80포트 중복) - HelloWorld Project

배발자 2023. 5. 24.
반응형
root@ip-172-26-14-208:/etc/nginx/conf.d# certbot --nginx -d 도메인명
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Error while running nginx -c /etc/nginx/nginx.conf -t.

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/default:22
nginx: configuration file /etc/nginx/nginx.conf test failed

The nginx plugin is not working; there may be problems with your existing configuration.
The error was: MisconfigurationError('Error while running nginx -c /etc/nginx/nginx.conf -t.\\n\\nnginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/default:22\\nnginx: configuration file /etc/nginx/nginx.conf test failed\\n')

 

오류 메시지에 따르면, Nginx 설정에서 0.0.0.0:80에 대한 중복 기본 서버 블록이 있다. 이 문제를 해결하려면 다음 단계를 따라야한다.

  1. /etc/nginx/sites-enabled/ 디렉토리에서 관련 구성 파일을 찾는다.
  2. 중복된 기본 서버 블록을 찾으려면, 텍스트 편집기로 /etc/nginx/sites-enabled/default 파일을 열어본다.
  3. 중복된 기본 서버 블록을 제거하거나 주석 처리한다.
  4. 변경 사항을 저장한 후, 터미널에서 sudo nginx -t 명령어를 실행하여 구성이 올바른지 확인한다.
  5. 구성이 올바르다면, sudo service nginx restart 명령어를 실행하여 Nginx를 다시 불러온다.

 

이게 무슨 말이냐면, Nginx를 기본적으로 서버에 설치하게 되면 /etc/nginx/sites-enabled 해당 폴더에 default 파일이 존재한다. 이 파일을 들여다 보면,

 

listen 80 default_server;
listen [::]:80 default_server;

 

다음과 같이 정의되어 있는데, 80번 포트는 이미 conf.d 폴더에 필자가 정의한 .conf 파일이 존재한다. 해당 파일에도 80 포트에 대한 리다이렉트 코드가 정의되어있기 때문에 중복된 코드를 지워줘야한다. 즉, sites-enabled/default 파일에서 80번 포트를 받는 코드를 주석해주자.

 

| /etc/nginx/sites-enabled/default

server {
#############주석#######################
#       listen 80 default_server;
#       listen [::]:80 default_server;
########################################
        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: <https://bugs.debian.org/773332>
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: <https://bugs.debian.org/765782>
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

 

 

반응형

댓글