标签: static-files

在Sinatra中,如何在公共文件夹的子目录中提供静态index.html文件?

可能重复:
使用Sinatra提供静态文件

我注意到Sinatra无法识别公用文件夹子目录中的index.html文件,并在url指向目录时返回错误而未指定文件名.

例如,如果用户输入"www.mydomain.com/subdiretory/"之类的网址,则Sinatra无法识别该目录中是否存在index.html文件.

我的公用文件夹中有数百个子目录,因此无法在代码中指定每个子目录(并且子目录的数量不断增长).

如果url指向没有文件名的目录,如果公共文件夹的子目录中有index.html文件,我怎么能告诉Sinatra单独离开我的Web服务器(Apache)(到服务器index.html文件)?

ruby static-files sinatra

9
推荐指数
0
解决办法
5909
查看次数

如何在 ASP.NET Core 中缓存静态文件?

我似乎无法在 ASP.NET Core 2.2 中启用静态文件缓存。我有以下内容Configure

public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
  if (env.IsDevelopment()) {
    app.UseDeveloperExceptionPage();
    app.UseCors(...);
  }
  else {
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseAuthentication();
  app.UseSignalR(routes => { routes.MapHub<NotifyHub>("/..."); });

  app.UseResponseCompression();
  app.UseStaticFiles();
  app.UseSpaStaticFiles(new StaticFileOptions() {
    OnPrepareResponse = (ctx) => {
      ctx.Context.Response.Headers[HeaderNames.CacheControl] = "public, max-age=31557600"; // cache for 1 year
    }
  });
  app.UseMvc();

  app.UseSpa(spa => {
    spa.Options.SourcePath = "ClientApp";
    if (env.IsDevelopment()) {
      spa.UseVueCli(npmScript: "serve", port: 8080);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 chrome 在 HTTPS 上审核生产站点时,我不断收到“使用高效缓存策略提供静态资产”的消息:

审核截图

在网络选项卡中没有提到标题中的缓存,当我按 F5 时,似乎所有内容都来自磁盘缓存。但是,如果审计显示它不是,我怎么能确定我的缓存设置有效?

网络标签截图

caching static-files vue.js asp.net-core

9
推荐指数
2
解决办法
8382
查看次数

如何在网站上处理javascript和css文件?

最近我对如何处理Web应用程序中的共享javascript和css文件有一些想法.

在我正在处理的当前Web应用程序中,我获得了大量不同的javascripts和css文件,这些文件放在服务器上的文件夹中.一些文件被重用,而另一些则没有.

在生产站点中,拥有大量的HTTP请求和许多千字节的不必要的javascript和冗余的css是非常愚蠢的.解决方案当然是每页创建一个大的捆绑文件,其中只包含必要的信息,然后将其最小化并发送压缩(GZIP)到客户端.

如果您打算一次性创建一组javascript文件并手动将其最小化,则无需担心,但由于应用程序不断维护且事情确实发生变化和发展,因此在推出时手动执行此操作很快就会变得令人头疼新的更新,其中包含对javascripts和/或css文件的更改以进行生产.

处理这个问题的好方法是什么?你如何在你的申请中处理这个?

javascript css development-environment production-environment static-files

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

Rails 3.1,Unicorn和Apache:静态文件

我有Rails 3.1,Unicorn和Apache设置.我的Apache设置如下,production.rb看起来像这样.我喜欢使用h264流媒体,但由于Rails正在为这些视频文件提供服务,因此Apache Mod无法运行.

DocumentRoot /blabla/current/public

RewriteEngine On
Options FollowSymLinks

<Proxy balancer://unicornservers>
  BalancerMember http://127.0.0.1:4000
</Proxy>

# Redirect all non-static requests to rails
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L]

ProxyPass / balancer://unicornservers/
ProxyPassReverse / balancer://unicornservers/
ProxyPreserveHost on

<Proxy *>
 Order deny,allow
 Allow from all
</Proxy>

XSendFile On
XSendFileAllowAbove on
Run Code Online (Sandbox Code Playgroud)

我必须启用serve_static_assets,否则我无法下载任何静态内容.我也有预编译资产,但它没有任何区别,因为除了Rails(Rack猜测)正在进行服务之外,公共目录中没有可用的文件.

我应该使用config.action_controller.asset_host还是我的Apache配置有问题.

apache ruby-on-rails static-files unicorn

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

Microsoft.Owin.StaticFiles在控制台主机中工作,但我在IIS中获得了404文件请求

我在我的Owin管道中设置了Microsoft.Owin.FileServer(v2.1.0),并且使用EnableDirectoryBrowsing = true设置FileServerOptions非常适合在我的控制台主机和iisexpress中显示目录内容.

当我尝试查看特定文件(因此,StaticFiles部分)时,我在iisexpress中遇到了问题.仍然在控制台主机中运行良好,但在iisexpress中我获得了404:

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

Most likely causes:
- The directory or file specified does not exist on the Web server.
- The URL contains a typographical error.
- A custom filter or module, such as URLScan, restricts access to the file.
Run Code Online (Sandbox Code Playgroud)

我确实在Web主机中引用了最新的Microsoft.Owin.Host.SystemWeb.

iis static-files owin katana

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

ASP.NET MVC中的静态文件授权与Owin

我需要保护整个静态HTML文件的文件夹.目的是用户无法访问这些文件,除非他们经过身份验证并具有必要的角色.

我们已经使用OWIN设置了基于cookie的身份验证,但无论我尝试什么,我似乎都无法找出要对文件夹进行身份验证的更改的正确组合.

第一个问题是IIS完全跳过ASP.NET而只是提供文件.我认为通过将runAllManagedModulesForAllRequests设置为true可能有办法解决这个问题.但是我从哪里去?

我已经尝试在Web.config中填充元素以要求适当的角色,但它只会导致每个请求被拒绝(可能是因为它没有检查正确的cookie或其他东西).

我花了一整天的时间在这上面,我即将失去理智.

有人解决了这个问题吗?

asp.net asp.net-mvc authorization static-files owin

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

从Jetty中的Web应用程序外的文件夹中提供文件

我在Jetty服务器上有一个Java Web应用程序(Eclipse/OSGI).我希望能够从Web根目录之外的文件夹向我的Web应用程序提供静态文件.在我的Web应用程序中,我还不知道我想要提供的文件的文件名,因此我想在启动Web应用程序时将文件名(和/或路径)作为VM参数.例如:

我有一个图像 - myImg.jpg - 我把它放在服务器文件系统的一个文件夹中,例如root/images/myImg.jpg.我想将此作为VM参数,例如"-DmyImg =/images/myImg.jpg /",以便我可以获取图像并将其显示在我的网页上.我怎么能做到这一点?我可以不创建新的Servlet吗?

在此先感谢您的帮助!

web-services jetty static-files java-ee

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

为什么服务静态文件不安全

这可能是一个愚蠢的问题并且有一个明显的答案,但我正在测试我的404和500错误处理程序,这意味着我必须将调试切换为False.我去了Django管理页面,注意到没有提供静态文件.

我知道它们应该通过Apache路由,因为通过Django服务静态文件是不安全的.但是,我不太明白为什么直接通过Django提供静态文件会带来安全风险?

security django static-files django-staticfiles

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

从 Nginx 代理为 ASP.NET Core SPA 应用程序提供静态文件

众所周知,建议对由应用程序服务器提供服务的 Web 应用程序使用代理服务器。

此外,建议使用代理来提供静态文件。

对于“普通”.NET Core 应用程序,设置很简单。例如:

location /css/ {                        
    root /var/www/my.app.com/wwwroot;        
}   

location /js/ {                        
    root /var/www/my.app.com/wwwroot;        
}   

location /lib/ {                        
    root /var/www/my.app.com/wwwroot;        
}
Run Code Online (Sandbox Code Playgroud)

但是对于 .NET Core SPA 应用程序(使用 Angular),wwwroot 文件夹包含的内容不多,大部分内容都存储在 ClientApp 中。

这是否意味着对于 .NET Core SPA 应用程序,我们必须为了所有“SPA 优点”而牺牲静态文件服务功能,还是 Nginx 仍然可以提供某些类型的静态文件?

performance nginx static-files single-page-application asp.net-core-2.2

7
推荐指数
0
解决办法
994
查看次数

如何在 FastAPI 中提供静态文件

我正在尝试提供 package_docs 目录中的静态文件。当我在浏览器中打开时:

http://127.0.0.1:8001/packages/docs/index.html,页面正在运行。

但是我想打开页面:http : //127.0.0.1 : 8001/packages/docs/

没有源文件。输出是 404 Not Found

app.mount("/packages/docs", 
    StaticFiles(directory=pkg_resources.resource_filename(__name__, 'package_docs')
    ), 
    name="package_docs")

@app.get("/packages/docs/.*", include_in_schema=False)
def root():
    return HTMLResponse(pkg_resources.resource_string(__name__, "package_docs/index.html"))


app.include_router(static.router)
app.include_router(jamcam.router, prefix="/api/v1/cams", tags=["jamcam"])
Run Code Online (Sandbox Code Playgroud)

如何更改我的代码?任何建议都会有所帮助。先感谢您。

routes pkg-resources static-files python-3.x fastapi

7
推荐指数
4
解决办法
8600
查看次数