子目录中的反向代理无法找到静态资产

时间:2014-11-23 14:07:04

标签: node.js nginx proxy reverse-proxy ghost-blog

我使用Nginx作为反向代理将请求路由到localhost到我的节点服务器,但是请求localhost / blog到ghost服务器(博客平台)

我的Nginx配置是这样的:

server {
    listen 80;

    server_name localhost;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location ^~ /blog {
        rewrite /blog/(.*) /$1 break;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

编辑:我用rewrite /blog/(.*) /$1 break;重写网址的原因是鬼服务器没有得到/ blog /的请求,它不能这样做使用

然而,因为ghost(博客平台)设计为在根目录中运行,所有静态资产都会失败,因为它们应该转到localhost / 博客 / static / asset / path而不是localhost /静态/资产/路径: enter image description here

这个问题有什么简单的解决方案吗?或者我是否必须为ghost重写所有HTML?

0 个答案:

没有答案