Nginx 重定向到默认页面

Posted

技术标签:

【中文标题】Nginx 重定向到默认页面【英文标题】:Nginx redirects to default page 【发布时间】:2017-07-18 07:10:06 【问题描述】:

我正在为我的 Django/Gunicorn/nginx 服务器设置一个域。它适用于 IP 地址而不是 server_name 中的域名,但是当我添加域名时,它会重定向到默认的 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 但没有效果。如果我做错了什么,请告诉我。

【问题讨论】:

你的配置中真的有server_name example.com;server_name www.example.com; 吗? @fvu 不。我用 example.com 替换了我的域名,以便在此处发布。 在这种情况下,明智的做法是将其添加到问题中,以避免错误的回答。 @fvu 你是对的,但由于某种原因我不能这样做。在这种情况下,域名重要吗? 您在sites-available 中的文件是否与sites-enabled 符号链接?您可以通过nginx -T 看到nginx 看到的内容。 【参考方案1】:

1- 查看主要的 nginx.conf 如何包含所有配置文件。如果它包含启用站点的路径,则转到路径并查看站点下该站点的配置文件的快捷方式可用?

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

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

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

注意:更改 dns 名称服务器需要几个小时才能对客户端产生影响。

【讨论】:

以上是关于Nginx 重定向到默认页面的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 总是将 Laravel 路由重定向到默认的根 index.php 页面

RouterBrowser 不会在刷新时重定向到默认页面

为啥我的 mvc 项目重定向到默认的 403 错误页面,而不是我重定向到的页面,而不是在本地的 IIS 上?

我所有的个人 wordpress 页面都重定向到 xampp 默认页面

Apache2不断重定向到默认页面

登录成功后访问登录页面时出现Spring安全访问被拒绝消息。它应该重定向到默认页面