0

如果我访问: 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"

我收到此错误,来自我access.log用作我的 nginx 配置的一部分(注意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 安全策略如下所示: 图像

我在这里做错了什么?

谢谢!

4

1 回答 1

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;

祝你好运!

于 2013-10-26T20:00:24.910 回答