如果我访问: myapp.com(它有效)
如果我访问: www.myapp.com(抛出http 500错误) 要么 完全限定版本:http://www.myapp.com(抛出http 500错误)
http 500错误是:
xx.xx.xxx.xxx - - [26/Oct/2013:18:33:10 +0000] "GET / HTTP/1.1" 500 460 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0"
我收到此错误,来自用作我的nginx配置一部分的access.log
(注意error.log
没有任何新内容):
server {
#listen 8001;
listen 80;
#listen 127.0.0.1;
server_name myapp.com www.myapp.com; #*.myapp.com;
#server_name ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com;
access_log /home/ubuntu/virtualenv/myapp/error/access.log;
error_log /home/ubuntu/virtualenv/myapp/error/error.log warn;
connection_pool_size 2048;
fastcgi_buffer_size 4K;
fastcgi_buffers 64 4k;
root /home/ubuntu/virtualenv/myapp/homelaunch/;
location /static/ {
alias /home/ubuntu/virtualenv/myapp/homelaunch/static/;
#alias /static/;
#root /home/ubuntu/virtualenv/myapp/homelaunch/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Host $server_name;
#proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
我的 ec2安全政策如下所示:
我在这里做错了什么?
谢谢!
答案 0 :(得分:0)
对于任何设置而言,这似乎都不是settings.py
的问题,settings.py
的设置未应用,因为我没有:
1)先停止Gunicorn并停止Nginx 2)然后使用适当的命令再次启动它们,如:
sudo /usr/local/bin/gunicorn -c /home/ubuntu/virtualenv/gunicorn_config.py myapp.wsgi; sudo nginx -c /etc/nginx/nginx.conf;
特别感谢上面的用户史蒂夫提出的要点。
如果有人遇到这样的问题,您的应用可通过<domainhere>.com
访问,但未来www.<domainhere>.com
无法访问,请检查以下内容:
1)确保您的ALLOWED_HOSTS=[]
具有以下设置:
ALLOWED_HOSTS = ['www.myapp.com','myapp.com','<server-ip-here>','ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com']
2)你正在使用如下命令正确启动gunicorn和nginx:
sudo /usr/local/bin/gunicorn -c /home/ubuntu/virtualenv/gunicorn_config.py myapp.wsgi;
sudo nginx -c /etc/nginx/nginx.conf;
3)使用这样的命令检查两者是否正常运行:
ps ax|grep nginx; ps ax|grep gunicorn;
祝你好运!