在 Pythonanywhere 上配置 nginx 服务器

gpa*_*rov 4 nginx browser-cache pythonanywhere

我正在尝试“利用浏览器缓存”来提高网站速度。webapp 托管在 pythonanywhere 上,我想我需要配置 nginx.conf 文件以包含:

location ~* \.(css|js|gif|jpe?g|png)$ {
  expires 168h;
  add_header Pragma public;
  add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
Run Code Online (Sandbox Code Playgroud)

(从这里开始:如何在 django 中利用浏览器缓存

但是我在任何地方都找不到 conf 文件。它不在 /etc/nginx、/usr/local/etc /usr/etc ...

这可以在 pythonanywhere 上完成吗?

Gil*_*mas 5

PythonAnywhere 开发者在这里。不幸的是,您无法更改我们系统上的 nginx 设置——但系统默认设置实际上几乎是您想要的。如果您使用“Web”选项卡上的“静态文件”表来指定它们的位置,则:

  • 当浏览器第一次请求静态文件时,它会返回一个标头,说明上次修改时间(基于文件时间戳)。
  • 当浏览器在此之后请求静态文件,并且它的缓存中有一个副本时,它通常会发送一个“if-modified-since”标头,其中包含它第一次获得的最后修改标头的值。
  • 服务器将检查文件时间戳,如果文件没有更改,它将发回一个没有内容的 HTTP 304(“未修改”)响应,因此浏览器知道它可以只使用缓存的一个。如果文件发生了变化,那么它当然会发回一个正常的 200 响应,其中包含新内容和更新的最后修改时间戳,供浏览器缓存。