小编mmo*_*oya的帖子

使用 Nginx 提供静态文件时禁用缓存(用于开发)

我们正在使用 Nginx 在开发平台上提供静态文件。由于它是一个开发平台,我们希望禁用缓存,以便将每个更改传播到服务器。VHost 的配置非常简单:

server {
  server_name  static.server.local;
  root /var/www/static;

  ## Default location
  location / {
    access_log        off;
    expires           0;
    add_header        Cache-Control private;
  } 
}
Run Code Online (Sandbox Code Playgroud)

当我们访问一个 HTML 文件(http://static.server.local/test.html)时,我们没有问题:只要文件没有改变,服务器就会返回一个代码304 Not Modified,并返回一个200 OK响应更改文件时修改的文件。
但是,对于 Javascript 或 CSS 文件,它的行为似乎有所不同。文件更改后,我们会按预期获得200 OK响应,但使用旧文本。
Nginx 中是否有可以解释这种行为的内部缓存机制?或者我们应该添加一些配置?

作为旁注,这是修改文件时 Nginx 返回的标头(似乎是正确的):

Accept-Ranges:bytes
Cache-Control:max-age=0
private
Connection:keep-alive
Content-Length:309
Content-Type:text/css
Date:Fri, 13 May 2011 14:13:13 GMT
Expires:Fri, 13 May 2011 14:13:13 GMT
Last-Modified:Fri, 13 May 2011 14:13:05 GMT
Server:nginx/0.8.54
Run Code Online (Sandbox Code Playgroud)

编辑
在使用expires指令和Cache-Control …

nginx virtualbox cache static-content

93
推荐指数
2
解决办法
10万
查看次数

Corosync 的安全 IPTables 规则

我有两个运行 Corosync 和 Pacemaker 的HA 负载平衡器(hollywoodwolfman)。所述eth1接口被连接到广域网,以及eth0接口的LAN,使用虚拟IP作为网关用于后端服务器。的eth1IPhollywoodxxx.xxx.195.45, 的eth1IPwolfmanxxx.xxx.195.46。该bindnetaddr在Corosync是xxx.xxx.195.32,同为广域网的网络地址和端口Corosync是默认的5405

两台服务器上的相关IP表规则是:

*filter

--flush

:INPUT DROP

--append INPUT --protocol udp --destination-port 5404 --jump ACCEPT
--append INPUT --protocol udp --destination-port 5405 --jump ACCEPT
Run Code Online (Sandbox Code Playgroud)

这种设置似乎做工精细,但最初我加--in-interface eth1--source xxx.xxx.195.46wolfman,并--source xxx.xxx.195.45hollywood。大多数情况下这似乎有效,但重新启动被动平衡器有时会终止负载平衡器之间的通信,将这些错误写入系统日志:

[TOTEM] 由于操作系统或网络故障,图腾无法形成集群。此消息的最常见原因是本地防火墙配置不正确。

因此,我认为所有 Corosync 流量直接在两个负载均衡器之间的简单信念似乎eth1是错误的,或者是其他原因导致了问题。

我想将5404/5405IPTables 中的端口锁定到集群。我需要做什么才能实现这一目标?

编辑: …

iptables pacemaker corosync

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