我在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
答案 0 :(得分:10)
你在一堆行上丢失了分号,这就是nginx -t失败的原因。