【问题标题】:Nginx Not finding static filesNginx 找不到静态文件
【发布时间】:2020-11-23 20:08:19
【问题描述】:

我正在尝试在 nginx 上提供一些静态文件(图像),但总是得到 404。

这是我正在测试的网址:

/uploads/test.png

我有包含图片的文件夹:

/root/项目/服务器/上传

这是我的 nginx 配置:

server {

    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    
    root /var/www/html;


    index index.html index.htm index.nginx-debian.html;

    server_name domain.com www.domain.com;

    location ^~ /assets/ {
        gzip_static on;
        expires 12h;
        add_header Cache-Control public;
  }
    
    location /uploads  {
        alias /root/trendcircle/server/uploads;
        try_files $uri $uri/ =404;
        autoindex on;
    }

    location /api { 
        proxy_http_version 1.1;
        proxy_cache_bypass $http_upgrade;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Access-Control-Allow-Origin '*';
        proxy_set_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
        proxy_set_header 'Access-Control-Allow-Headers' 'X-Requested-With, Accept, Content-Type, Origin, x-access-token';

        proxy_pass http://localhost:8080;       
    }
    
    location / {
        proxy_http_version 1.1;
        proxy_cache_bypass $http_upgrade;

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

        proxy_pass http://localhost:8081; 
    }
}

有人可以帮我吗?

提前致谢!!

【问题讨论】:

  • 试试:root /root/project/server;
  • location /uploads 中的路径与您的图像实际存储的位置不匹配。尝试改变它
  • @RichardSmith 还是不行
  • @luíssaraiva 检查 nginx 错误日志以查看 nginx 尝试在哪里找到请求的文件。
  • @IvanShatsky 谢谢我解决了问题

标签: node.js nginx


【解决方案1】:

该文件夹的用户与运行 nginx 的用户不同。如果是通过执行这个命令:

chmod o+x /root

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2021-06-25
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多