我有 nginx 托管由 jekyll 生成的静态站点实例。
我在端口 4000 上添加了一个 nodejs 应用程序,并按照DigitalOcean 上的本教程
server {
listen 80;
root /usr/share/nginx/html/example.com;
index index.html index.htm;
server_name example.com;
charset utf-8;
location /nodeapp/ {
proxy_pass http://localhost:4000/;
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;
}
}
example.com/nodeapp/css/main.css
应用程序加载,但所有静态资源都出现 404,因为它在例如处查找资源。
我该如何修复这个问题?
答案1
您可以在任何代理逻辑之前添加以下内容,并将资产存储在机器上其他位置的目录中:
location /static {
alias /location/for/all/static/assets;
}
然后,在您的应用中,将“/static”作为所有静态资产的前缀。