/ etc / nginx / sites-enabled / django中的参数server_name无效

时间:2017-02-11 22:18:42

标签: python django nginx django-admin digital-ocean

我在DigitalOcean上部署了一个Django应用程序。 首先,当我尝试用https和ssl来保护它时,我收到了这个错误。

当我运行nginx -t:

nginx:[emerg]无效参数" server_name"在/ etc / nginx / sites-enabled / django:12

nginx:配置文件/etc/nginx/nginx.conf测试失败

upstream app_server {
server unix:/home/django/gunicorn.socket fail_timeout=0;
}

server {
    #listen 80 default_server;
    #listen [::]:80 default_server ipv6only=on;

    listen 443 ssl
    server_name domain.com
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
    root /usr/share/nginx/html;
    index index.html index.htm;

  client_max_body_size 4G;
  server_name _;

  keepalive_timeout 5;

  # Your Django project's media files - amend as required
  location /media  {
      alias path/to/media;
  }

  # your Django project's static files - amend as required
  location /static {
      alias path/to/static;
  }

  # Proxy the static assests for the Django Admin panel
  location /static/admin {
     alias path/to/staticadmin;
  }

location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
        proxy_buffering off;

        proxy_pass http://app_server;
}


}

 server {
        listen 80;
       server_name domain.com;
       return 301 https://$host$request_uri;
 }

此外,我可以使用IP地址访问网站,但不能注册域名。这会导致400个错误的请求页面。 这可能是settings.py吗?

的问题

以在settings.py ALLOWED_HOSTS=['*']中提供参考。我在ip_addresses()函数中提供了什么列表?

这两个问题有关吗?

使用Django v1.10.5

1 个答案:

答案 0 :(得分:10)

你在一堆行上丢失了分号,这就是nginx -t失败的原因。