小编ano*_*one的帖子

NGINX 反向代理:是否可以仅代理缓存 404(或其他)html 状态代码?

使用最新的 nginx,是否可以仅代理缓存特定的 html 状态代码响应?

我们对某些响应使用 410 状态代码。

这些都是根据我们的数据库进行检查的。

当所述内容被标记为永久删除(410)时,发送 410 状态代码。

此内容将永远消失。

我们只想代理缓存这些结果。

这可能吗?

nginx cache reverse-proxy

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

NGINX 反向代理:if 块内的 proxy_cache - 可能吗?

我认为从一个小片段开始是最明智的:

    location ^~ /test/ {
            proxy_pass              http://frontend;
            proxy_http_version      1.1;
            proxy_set_header        Connection "";
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Real-Port $server_port;
            if ( $remote_addr ~* "123.123.123.123" ) {
                    proxy_cache            cache_base;
                    proxy_cache_valid      720m;
            }
    }
Run Code Online (Sandbox Code Playgroud)

因此,本质上我们想要做的是基于条件 IF 语句设置代理缓存。

上面的方法不起作用,因为 proxy_cache 在 IF 内部无效。

有谁知道如何根据众多 nginx 内部变量之一的正则表达式匹配来代理缓存?

笔记:

我们希望基于 $remote_addr regexp 基本上禁用/启用 proxy_caching。不指定不同的 proxy_cache 值。

谢谢。

scripting nginx proxy cache regex

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

Nginx keepalive_requests - 无限制使用什么值?

我们在 nginx 代理后面使用 nginx 后端。

我们使用上游保活。

他们工作得很好。

我们想知道,我们应该keepalive_requests在后端设置什么值来将最大保活请求数设置为无限制?

谢谢!

nginx reverse-proxy keepalive

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

基于 Linux 命令行的垃圾邮件检查器?

是否存在基于命令行的垃圾邮件检查器?

我们在第 3 方创建了一个邮箱,不幸的是,我们决定在初始设置中“禁用”垃圾邮件检查。

没有办法重新启用垃圾邮件检查,必须删除邮箱(因此所有内容丢失)并重新创建。

是否存在我们可以注入的任何东西:

A) 主题 + 从 + 到 + 正文 + 所有其他字段。

或者

B) 原始消息转储(标题 + 正文)。

命令行会让我们知道电子邮件可能是垃圾邮件吗?

谢谢。

email linux spam command-line-interface

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

是否存在套接字连接的保活?

预简报:

尽管我的问题很广泛,但我正在处理连接到 php-fpm (fcgi) 的 nginx,它通过本地套接字 (/tmp/somesocket.socket) 提供服务。

Nginx 有一个设置来保持与 fcgi 后端的连接(http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_keep_conn)。

这就是我的问题所涉及的。

题:

在linux中,当连接到本地套接字时,是否存在keepalives这样的东西?

保持连接是否会消除(甚至是一点点)与创建/拆除连接相关的一些开销?

谢谢。

linux tcpip nginx keepalive socket

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

Logrotate httpd (apache) 日志 - 可能在日志清除后不重新加载 httpd 吗?

让我们从一个小转储开始:

/var/log/httpd/*log {
    compress
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}
Run Code Online (Sandbox Code Playgroud)

这是我们的 httpd logrotate.d 文件的转储。

如您所见,在文件轮换后,apache 被“重新加载”。

禁用这个可以吗?

我们反向代理(通过 nginx)到我们的 apache 盒子,并注意到当它被执行(httpd 重新加载)有 2-5 秒的停机时间(通过我们的 nginx 反向代理日志注意到)。

我们想禁用它。

任何想法如何在轮换后不发送重新加载的情况下轮换 apache 日志?

谢谢!

logrotate apache-2.2

0
推荐指数
2
解决办法
6278
查看次数