Nginx 重定向到默认页面。

4
我正在为我的Django/Gunicorn/Nginx服务器设置域名。在server_name中使用IP地址可以正常运行,但当我添加域名后,它会重定向到默认的Ubuntu Nginx页面。我的Nginx文件如下(请注意我用example.com替换了我的域名):
路径:/etc/nginx/sites-available/projectname
server {
    listen 80;
    server_name example.com;
    return 301 $scheme://www.example.com$request_uri;
}

server {
    listen   80;
    server_name www.example.com;

    client_max_body_size 4G;

    location = /favicon.ico {access_log off; log_not_found off;}
    location /static/ {
    root /path/to/static/dir;
    }

    location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://unix:/path/to/gunicorn.sock;
    }

}

我已经运行了命令sudo nginx -t和sudo service nginx restart,但没有效果。如果我做错了什么,请让我知道。


@fvu 不是,我用 example.com 替换了我的域名以便在这里发布。 - Kamal Singh
在这种情况下,最好将此添加到问题中,以避免误导的回答。 - fvu
@fvu 你说得对,但由于某些原因我不能这样做。在这种情况下域名是否重要? - Kamal Singh
@fvu 不,它发送的是www.example.com而不是yorumsil.com。 - Kamal Singh
1
你的文件是否在sites-available中创建了到sites-enabled的符号链接?你可以通过使用nginx -T命令来查看nginx所看到的内容。 - Richard Smith
显示剩余5条评论
1个回答

2

1- 查看主要的nginx.conf文件,确认是否包含所有的配置文件。如果它包括site-enabled路径,则进入该路径并查看是否有一个快捷方式指向该站点可用的配置文件?

或者如果所有站点都在nginx配置文件中启用,则直接包含可用文件。

include /etc/nginx/sites-available/*;

2-混合两个服务器定义代码,并使用规则将非www前缀重定向到www前缀 3-如果不起作用,请检查DNS配置问题,并通过putty从服务器内部查看结果,而不是通过浏览器从服务器外部查看,以确定是nginx问题还是DNS配置问题。

注意:更改DNS名称服务器需要一些时间才能生效并对客户产生影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接