如何使用Nginx定位块路由资产?

时间:2019-06-10 16:57:08

标签: nginx reverse-proxy assets nginx-location nginx-reverse-proxy

我有一个在EC2实例上运行的nginx配置,具有以下规则:

server {
    listen 80;
    server_name *****.com.ar www.*****.com.ar;

    proxy_set_header    X-Forwarded-For $remote_addr;
    proxy_set_header    Host $http_host;

    location ~ ^/(company|portfolio|services|contact|)(/|$) {
        proxy_pass         "http://privateip:80";
    }

    location / {
        proxy_pass         "http://privateip:3000";
    }
}

如您所见,如果斜杠后的第一个单词与某些单词声明(公司,产品组合,服务)匹配,则第一个规则重定向到端口 80 上的私有ip 等),或者如果在斜杠后不存在一个单词。

另一方面,如果在斜杠(例如/ something)之后输入一个单词,nginx重定向到相同的IP,但在端口 3000 上。

问题是以下原因:

当我访问该站点时(在斜杠后面没有输入任何文字),我可以正确重定向到端口 80 上的私有ip ,但是问题是资产无法加载!。 如果我转到(Google Chrome开发者工具的)“网络”标签,则可以看到资产在尝试加载时会得到nginx重定向(在端口 3000 上),因为请求以类似< strong> / js,/ styles,/ images 或简称为 / assets

如何通过nginx代理正确传递或设置资产?还是在遇到位置匹配时如何配置nginx从应用程序加载所有内容?因为我也会在应用程序的路由/路径中遇到这个问题...谢谢!

0 个答案:

没有答案