1

我正在尝试在 nginx 代理后面设置 Tornado 服务器,这是配置的相关位:

server {
    listen 80;
    server_name localhost;

    location html/ {
        root /srv/www/intj.com/html;
        index login.html;
        if ($query_string) {
            expires max;
        }
    }

    location = /favicon.ico {
        rewrite (.*) /html/favicon.ico;
    }

    location = /robots.txt {
        rewrite (.*) /html/robots.txt;
    }

    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://localhost:8888;
    }
}

我可以通过nginx访问我的 Python 服务器,但是当我请求一个静态页面时,例如login.html,它位于/srv/www/intj.com/html/login.html其中。

我做错了什么?

4

2 回答 2

0

好吧,它实际上必须是^~ /html/,但我真的不知道它的含义/有什么区别,所以如果有人能启发我会很酷。

于 2013-10-02T10:34:32.133 回答
0

试试这个,告诉我它是怎么回事。

server {
    listen 80;
    server_name localhost;

    location / {
        if($query_string) {
            root /srv/www/intj.com/html;
            index index.html;
            try_files $uri $uri/;
        }
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://localhost:8888;
    }
}
于 2013-10-02T20:50:14.997 回答