快速静态路由不适用于Nginx和NextJS

时间:2019-06-12 04:56:23

标签: node.js express nginx next.js

我的原型位于https://www.schandillia.com。可以在GitHub https://github.com/amitschandillia/proost上找到该存储库。

我在Nginx conf文件中以以下方式定义了一堆路由:

location ^~ /favicon {
    proxy_pass http://127.0.0.1:3000/static/brand/favicons/favicon;
    include /etc/nginx/sites-available/snippets/static-config.conf; # importing static assets configurations
  }

完整的conf代码可从https://github.com/amitschandillia/proost/blob/master/.help_docs/configs/nginx.conf查看。我在项目中使用NextJS,并且在 server.js (回购:https://github.com/amitschandillia/proost/blob/master/web/server/server.js)中定义了一条静态路由,如下所示:

server.use('/ _ s',express.static(path.join(__ dirname,'..','.build','static'))))

但是,当我尝试访问该文件夹中的任何资产时,会得到 404 。我的意思是Nginx conf文件中未明确指出的资产。它们是否应该独立于是否在代理级别定义而可用?例如,我在/static/fonts/上有一个 Raleway-Regular.ttf 文件,我希望可以通过https://www.schandillia.com/_s/fonts/Raleway-Regular.ttf使用它,但是我得到的只是一个 404

可能是什么原因?

此外,以下favicon定义似乎对 favicon.ico 对浏览器的可用性没有任何影响:

server.use(favicon(path.join(__ dirname,'..','static','images','icons','favicon.ico'))))

收藏图标文件位于/static/images/icons/。当您访问https://www.schandillia.com时,确实会显示一个收藏夹图标,但这是我的Nginx conf中定义的图标,而不是 server.js 中定义的图标。

0 个答案:

没有答案