NGINX 顯示預設頁面,網域未重定向

NGINX 顯示預設頁面,網域未重定向

我目前正在嘗試在 Ubuntu 18.04.3 Droplet 上部署我的 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 記錄都應該有一個「裸」或「裸」A 記錄,指向您的 Nginx 伺服器的 IP:

    前任。綁定

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

    如果您使用第三方 DNS,指定此「裸」記錄的方式可能會有所不同。對於 Digital Ocean DNS 服務,這似乎帶有@符號。

    前任。數位海洋「裸」創紀錄

    數位海洋「裸」一筆紀錄——截圖

相關內容