具有多个路径的子域的Nginx反向代理配置

时间:2015-09-17 13:47:31

标签: django nginx proxy sentry grafana

我的Nginx反向代理配置存在问题。我的发行版是Ubuntu 14.04

我有一个域名,我们称之为foo.bar.net,我希望/ grafana端点重定向到我的grafana服务器(localhost:3000),/ sentry端点重定向到我的哨兵服务器(localhost:9000) )最后,/ private端点重定向到我的django服务器(localhost:8001)。我正在使用gunicorn进行django和nginx之间的连接。

以下是我的尝试:

server {
    # listen on port 80
    listen 80 default_server;

    # for requests to these domains
    server_name foo.bar.net;

    location /sentry {
        # keep logs in these files
        access_log /var/log/nginx/sentry.access.log;
        error_log /var/log/nginx/sentry.error.log;

        # You need this to allow users to upload large files
        # See http://wiki.nginx.org/HttpCoreModule#client_max_body_size
        # I'm not sure where it goes, so I put it in twice. It works.
        client_max_body_size 0;

        proxy_pass http://localhost:9000;
        proxy_redirect off;

        proxy_read_timeout 5m;
        allow   0.0.0.0;
        # make sure these HTTP headers are set properly
        proxy_set_header Host            $host;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /grafana {
        proxy_pass http://localhost:3000;
        proxy_redirect off;

        proxy_read_timeout 5m;
        allow   0.0.0.0;
        # make sure these HTTP headers are set properly
        proxy_set_header Host            $host;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /private {
        proxy_pass http://127.0.0.1:8001;
    }

    location /private/static/ {
        autoindex on;
        alias /home/user/folder/private/static/;
    }
}

服务器甚至无法正常启动,配置未加载。

如果可能,我还希望/ path重定向到私有端点。

此外,我甚至不确定在何处放置此配置(sites-available / ??)

任何人都可以帮助我吗?

非常感谢,

1 个答案:

答案 0 :(得分:0)

有一些缺少分号和其他语法错误。查看主nginx错误日志以获取详细信息并逐一修复。

放置该配置文件的位置取决于您的分发。对于其中一些应该是站点可用目录和符号链接到启用站点的目录中的该文件,以便快速启用和禁用站点,如果您没有站点可用和站点启用目录,则应将其置于confd中。 dir在你的发行版中。