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 记录都应该有一个指向您的 Nginx 服务器 IP 的“裸” A 记录:

    例如 BIND

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

    如果您使用第三方 DNS,则指定此“裸”记录的方式可能会有所不同。对于 Digital Ocean DNS 服务,这似乎带有符号@

    例如 Digital Ocean“裸”A 记录

    Digital Ocean“裸”A唱片-截图

相关内容