기본 페이지를 표시하는 NGINX, 도메인이 리디렉션되지 않음

기본 페이지를 표시하는 NGINX, 도메인이 리디렉션되지 않음

현재 Ubuntu 18.04.3 드롭릿에 Django 앱을 배포하려고 합니다. 나도 이걸 따라하고 있어지도 시간.

튜토리얼을 성공적으로 완료했으며, 내 서버의 IP와 "www.domainname.com"을 방문하면 내 앱이 제공됩니다. 그러나 "www" @ 'domainname.com' 없이 내 도메인 주소를 방문하려고 하면 다음과 같이 표시됩니다.

연결을 거부했습니다.

그리고 앞서 언급했듯이 IP 주소로 직접 이동하면 100% 정확하게 표시되고 앱의 정적 파일을 제공합니다.

튜토리얼의 다른 모든 부분을 오류 없이 올바르게 완료했기 때문에 이것이 NGINX 구성과 관련이 있다고 가정합니다.

내 NGINX 서버 블록은 다음과 같습니다 @ /etc/nginx/sites-available/mysite:

server {
    listen 80;
    server_name 165.227.222.0;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ethan/cfsite/cfsite;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

/etc/nginx/sites-available/default나는 그것이 에 심볼릭 링크되어 있다는 것을 읽었을 때 기본 서버 블록을 완전히 주석 처리했습니다 /etc/nginx/sites-enabled/.

sudo tail -F /var/log/nginx/error.log내가 이것을 얻을 때 :

2019/09/26 14:25:58 [alert] 6680#6680: *3 open socket #3 left in connection 4
2019/09/26 14:25:58 [alert] 6680#6680: aborting

어딘가에 프록시에 문제가 있거나 등록 기관이 DigitalOcean으로 올바르게 리디렉션하지 않고 DO IP에 직접 액세스하면 제공되는 정적 파일로 올바른 결과를 얻을 수 있다고 가정합니다.

도와주세요! 단순한 포트폴리오 웹사이트이고, 서버를 한번도 구성해 본 적이 없습니다.

답변1

몇 가지 요점:

  • 서버 이름일반적으로 해당 서버에 사용하려는 모든 이름을 포함해야 합니다. 예:

    server_name example.com www.example.com 165.227.222.0;
    
  • 도메인의 모든 DNS 레코드에는 Nginx 서버의 IP를 가리키는 "기본" 또는 "기본" A 레코드가 있어야 합니다.

    전. 묶다

    example.com.    IN A    165.227.222.0    ; A Record for a "base" domain name
    

    DNS에 타사를 사용하는 경우 이 "기본" 레코드를 지정하는 방법이 다를 수 있습니다. Digital Ocean DNS 서비스의 경우 기호가 있는 것으로 보입니다 @.

    전. 디지털 오션 "Bare" 레코드

    Digital Ocean "Bare" A Record - 스크린샷

관련 정보