标签: static-files

为什么 IIS 不为我的静态 CSS/JS 文件提供服务?

我向 ISS 添加了一个 ASP.NET MVC3 站点(在调试器中运行良好)。在浏览器中查看站点时,除了所有 CSS 和 JS 文件都返回 404 之外,一切似乎都运行良好。

这是 IIS 管理器中的站点:

其他详情:

  • 操作系统:Windows Vista Home Premium 32 位(带 SP2)
  • IIS:7.0.6000.16386
  • 带有 SP1 的 Visual Studio 2010 Express

iis asp.net-mvc static-files http-status-code-404

11
推荐指数
1
解决办法
4万
查看次数

使用 Nginx 反向代理应用程序及其静态文件

我正在尝试做一些在我看来很简单的事情,但我一定是愚蠢的或错过了一些非常明显的事情,因为我无法弄清楚。

我想访问在我的服务器上运行的多个 Web 应用程序,每个应用程序都有一个唯一的前缀:

http://mywebserver/app1 -> localhost:9001
http://mywebserver/app2 -> localhost:9002
...
Run Code Online (Sandbox Code Playgroud)

据我了解,我需要将 Nginx 配置为反向代理,所以我这样做了:

server {
listen 80;
server_name mywebserver;

  location /app1{
    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://127.0.0.1:9001/;
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

此配置允许我访问应用程序的主页http://mywebserver/app1,但未加载静态内容。

当我打开我的浏览器的控制台上,我可以看到它正试图从获得的资源http://mywebserver/static/custom/index.js,而不是像http://mywebserver/app1/static/custom/index.js

我尝试root在 location 块中添加一个指令来为静态提供服务,但由于静态内容请求是 on/而不是 on ,因此未将其考虑在内/app1

如何解决这个问题?有什么明显的我遗漏了还是我完全误解了反向代理的概念?

谢谢你。

nginx web-applications reverse-proxy static-content static-files

11
推荐指数
1
解决办法
2万
查看次数

使用 nginx 为特定用户代理提供不同的文件

使用nginx,如何为不同的用户代理提供不同的静态文件?例如,如果当前用户正在使用 iPhone,则应为他们提供服务mobile_index.html,而应为所有其他用户代理提供服务browser_index.html

找到解决方案:

server {
  listen 80;
  root /var/www;

  set $mobile_request '0';
  if ($http_user_agent ~ 'iPhone') {
    set $mobile_request '1';
  }

  location =/ {
    if ($mobile_request = '1') {
      rewrite ^ /mobile_index.html;
    }
    if ($mobile_request = '0') {
      rewrite ^ /browser_index.html;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

http nginx mobile-devices static-files useragent

7
推荐指数
1
解决办法
4150
查看次数

如何使用 nginx 提供特定的静态文件?

我有类似的查询/api/lang?lang=en,我想与 nginx as 一起提供服务/server/i18n-angular/en.json。我怎样才能做到这一点?

我有以下目录结构:

/public/
/server/i18n-angular/en.json
Run Code Online (Sandbox Code Playgroud)

我有以下配置,但 nginx 说此时使用 index 指令是错误的。

server {
  root /public
  ...
  location /api/lang {
    if ($args ~* "\?lang=(.+)") {
      set $language $1;
      index ../server/i18n-angular/$language.json;
    }
  }
} 
Run Code Online (Sandbox Code Playgroud)

我应该使用什么指令而不是index

nginx static-files

6
推荐指数
1
解决办法
5674
查看次数

Nginx 不提供大文件

尝试下载大文件时(不确定大小是否足够,尝试下载 5Gb),连接卡住:

$ wget --verbose http://example.net/large.zip -O /dev/null
--2016-12-14 12:52:38--  http://example.net/large.zip
Resolving example.net (example.net)... 1.2.3.4
Connecting to example.net (example.net)|1.2.3.4|:80... connected.
HTTP request sent, awaiting response...
Run Code Online (Sandbox Code Playgroud)

这将永远持续下去,永远我的意思是至少 10 分钟。

此类文件的 nginx 配置:

location ~* ^.+\.(css|js|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
   access_log off;
   log_not_found off;
   expires 7d;
}
Run Code Online (Sandbox Code Playgroud)

小的静态文件(我的意思是小的,例如 50Mb 的)可以很好地提供。

关闭 access_log ;“打开”没有帮助,此请求的日志中没有任何内容。

将文件类型从 zip 更改为另一种类型无济于事。

最奇怪的是,如果我开始下载并在重新启动nginx之后,下载开始就好了。但只有这一个。如果您在服务器重启后开始另一个下载,它不会以同样的方式工作。

nginx static-files

6
推荐指数
3
解决办法
2万
查看次数

如何在 openshift 官方 python 墨盒上使用 apache 提供静态文件?

我有带有官方 python-2.7 墨盒的可扩展 openshift 在线应用程序。默认情况下,一切都由 mod_wsgi 处理程序提供。如何配置我的应用程序和/或 Apache 以使用 Apache 而不是 python 后端在我的存储库中提供一些静态文件(如图像、css 和 javascript)?

python static-files apache-2.2 openshift-online-2

5
推荐指数
1
解决办法
2749
查看次数

Nginx、Gunicorn 和 Django 的静态文件权限

我试图设置一个 Nginx 服务器和一个运行 Django 的 Gunicorn WSGI 服务器。

除了我有权限问题之外,所有设置似乎都可以运行。我已将别名设置为 /media 和 /static 目录来提供静态内容,但是除非文件归 nginx 用户所有,否则会生成 403 错误。

Gunicorn 用户上传的文件显然归该特定用户所有,这会导致问题。我可以将 nginx 用户添加到 Gunicorn 用户组,但是我不想授予 nginx 对这些文件的一揽子权限。

通过 Gunicorn/Wsgi/Django 上传或生成文件但允许 nginx 为它们提供服务而不增加安全问题的建议方法是什么。

提前致谢,

nginx django static-files gunicorn

5
推荐指数
1
解决办法
7012
查看次数

IIS 8.5 服务文件没有来自特定文件夹的扩展名

我有一些文件已上传到一个名为/Download但没有扩展名的文件夹中,例如File1我尝试添加/Download/Web.Config具有以下指定的文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".*" mimeType="application/octet-stream" />
        </staticContent>
    </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是有了这个,我仍然从 IIS 收到这个错误:

HTTP 错误 404.17 - 未找到请求的内容似乎是脚本,静态文件处理程序不会提供该内容。

最可能的原因:请求匹配通配符 mime 映射。请求被映射到静态文件处理程序。如果有不同的先决条件,请求将映射到不同的处理程序。

您可以尝试的方法:如果您想将此内容作为静态文件提供,请添加显式 MIME 映射。

static-files iis-8.5

4
推荐指数
1
解决办法
6504
查看次数

提供静态文件 + 反向代理时的 nginx 403

我正在尝试通过 nginx 为节点应用程序提供服务,但首先尝试为可能位于/public文件夹中的静态文件提供服务。我有那么多工作——但是在访问domain.tld/静态文件夹或索引时,我得到 403;directory index of "/var/www/domain.tld/" is forbidden. 所有权限似乎都正确,所以我很困惑。

这是我的服务器块;

server {
    server_name domain.tld;

    location / {
        root /var/www/domain.tld/public;
        try_files $uri $uri/ @proxy;
        access_log off;
    }

    location @proxy {
        proxy_pass http://127.0.0.1:3000;
    }
 }
Run Code Online (Sandbox Code Playgroud)

访问任何随机页面(包括假定的子目录)正确代理节点应用程序。但是,对于任何现有静态目录的根 / 和根,则为 403。

有任何想法吗?

nginx reverse-proxy static-files http-status-code-403

3
推荐指数
1
解决办法
8178
查看次数

Apache:将多个目录映射到同一位置

我想使用 Apache 将多个目录映射到同一位置,期待与此类似的行为:假设该/static位置由目录/srv/static1/srv/static2. 然后,如果/static/image.png被要求,我希望 Apache 以该顺序检查文件/srv/static1/image.png/srv/static2/image.png。返回找到的第一个文件;如果两者都未找到,则发回经典错误 404。

当然,一种解决方案是使用脚本创建一个指向正确位置的符号链接目录并使用该目录,例如在Alias指令中。我想知道是否有更直接的方法不需要我部署额外的机器。

谢谢!

configuration static-files apache-2.2

1
推荐指数
1
解决办法
1077
查看次数

如何为庞大的静态和预生成网站提供服务?

我目前的web项目有以下特点:

  • 一个基本上是只读信息存档的网站。访问者无法执行任何交互操作。
  • 网站的所有页面(目前大约 15k)都是在另一台机器上创建的预先生成的 HTML 文件和图形。
  • 这种方法背后的动机:由于没有动态处理和数据库,几个网络安全方面的复杂性要低得多。除此之外,希望获得良好的性能(或者换句话说,降低运行成本),因为整个网站是一个大型的单一缓存,为静态文件提供服务。

但是,我低估了在少量目录中保存大量文件对性能的影响。目前,网站的 URL 直接映射到文件系统上预先生成的目录结构。例如,地址domain.com/categoryA/...映射到webroot/pages/categoryA/...包含大量 HTML 页面的目录,并且随着添加到该目录中的每个附加文件,文件的读取变得越来越慢。

我怎么能解决这个问题?是否有任何网络服务器或服务器端技术专门解决服务大量静态页面的问题?应保留对 SEO 友好的 URL 结构。除此之外,我愿意接受任何建议。

web-server cache web-applications static-content static-files

1
推荐指数
1
解决办法
448
查看次数