多个位置下的Nginx代理多个服务器

时间:2017-11-02 13:16:23

标签: linux ubuntu nginx reverse-proxy proxypass

我正在尝试从多个服务器为多个应用程序设置Nginx代理。

server {
        listen 80;
        listen 443 ssl;
        server_name 192.168.2.28;
        ssl on;

   ssl_certificate /etc/nginx/ssl/nginx.crt;
   ssl_certificate_key /etc/nginx/ssl/nginx.key;


  location /dashboard/ {
         proxy_set_header    Host            $host;
                    proxy_set_header    X-Real-IP       $remote_addr;
                    proxy_set_header    X-Forwarded-for $remote_addr;
                    proxy_connect_timeout 300;
                    port_in_redirect off;
        proxy_pass http://192.168.1.250/;
    }
}

在浏览器中运行https://192.168.2.28/dashboard时,我获得了唯一的根文件,即/favicon.png但是在js / css这样的子文件夹中没有解析位置。

如何使用内部目录解析具有位置的域。我还附上了截图。请任何人,检查并解决。

Nginx SSL proxy error

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,你希望nginx直接回答静态文件的请求,同时将你的django-backend的所有其他内容代理。

尝试将此添加到您的服务器配置:

location /static/ {
     alias       /path/to/static/directory/;
}

详细描述here

如果您想要一个位置来表示远程路径, nginx可以rewrite这样的请求:

location ~ /static/ {
    rewrite (.*)/(.*) http://external.tld/static/$2; 
}

有关该选项的更多信息here