我在DigitalOcean上有2个小滴(实例) . 一个用作Web服务器并安装了Nginx,其中一个有我的node.js应用程序 . 我已经设置Nginx来处理SSL,并将所有非SSL和www流量重定向到https://url.com . 我使用proxy_pass来引用我的其他Droplet上的节点应用程序 . 到现在为止还挺好 . 一切正常 .

现在我想使用Nginx来提供静态文件,而不是使用Node . 我的静态文件也在App droplet上的/ var / www / node_app / public文件夹中 . 但由于某种原因,我无法正确地引用它们 .

我该怎么做呢?

这是我的Nginx配置:

server {
    listen 80;
    server_name www.url.com;
    return 301 https://url.com$request_uri;
}
server {
    listen 443 ssl;
    server_name www.url.com;

    return 301 https://url.com$request_uri;

    ssl_certificate /etc/nginx/ssl/www.url.com.chained.crt;
    ssl_certificate_key /etc/nginx/ssl/www.url.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
    ssl_prefer_server_ciphers on;
}
server {
    listen 443 ssl;
    server_name url.com;

    ssl_certificate /etc/nginx/ssl/www.url.com.chained.crt;
    ssl_certificate_key /etc/nginx/ssl/www.url.com.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
    ssl_prefer_server_ciphers on;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location ~ ^/(images/|fonts/) {
            proxy_pass http://XX.XXX.XXX.XXX;
            root /var/www/node_app/public;
            autoindex off;
    }
    location / {
            proxy_pass http://XX.XXX.XXX.XXX:4000;
            proxy_redirect off;
            proxy_http_version 1.1;
    }

}