【问题标题】:nginx proxy_pass static assetsnginx proxy_pass 静态资产
【发布时间】:2015-02-13 21:29:45
【问题描述】:

我有以下 nginx 配置

rewrite_log on;
server {
 server_name greymarmita.no-ip.org;
 listen 80;
 rewrite ^(.*) https://$host$1 permanent;
}
server {
 server_name greymarmita.no-ip.org;
 listen 443 ssl;
 error_log /var/log/nginx/main.error;
 access_log /var/log/nginx/main.access;
 ssl on;
 ssl_certificate /etc/ssl/localcerts/autosigned.crt;
 ssl_certificate_key /etc/ssl/localcerts/autosigned.key;
 root /srv/www;
 index index.html /index.html;

 location /rasp/ {
   proxy_pass http://192.168.2.6:81/;
  }
 location /cam/ {
   proxy_pass http://192.168.2.4:8081;
 }
 location ^~ /router/ {
   proxy_pass http://192.168.2.1/;
 }


location /nas/ {
  proxy_pass http://192.168.2.13/;
  proxy_redirect    off;
  proxy_set_header  Host            $host;
  proxy_set_header  X-Real-IP       $remote_addr;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
}

}

但是,当我尝试访问 http://192.168.2.6/nas 时,虽然 html 文件已正确提供,但 /web/ 下的文件却没有

GET https://greymarmita.no-ip.org/web/images/login.png404(未找到)

这些资产的正确路径应该是https://greymarmita.no-ip.org/nas/web/images/login.png

【问题讨论】:

标签: nginx proxypass


【解决方案1】:

您没有与该文件匹配的位置,请尝试添加此文件

location / {
  try_files $uri $uri/;
}

【讨论】:

  • 你有没有指向正确文件夹的root?你也重启了nginx吗? /web 是一个实际的文件夹,还是应该传递?
  • 是的,重新启动 nginx,将 root 更改为指向实际文件夹。 /web 是192.168.2.13 下的真实文件夹如果我尝试访问192.168.2.6/nas/web/css/style.css?v20 我会得到 200 OK
猜你喜欢
  • 2019-05-26
  • 2017-07-07
  • 2020-09-16
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-10
相关资源
最近更新 更多