小编Xio*_*iov的帖子

为什么 REMOTE_ADDR 有时仅可用作 Apache 环境变量?

为了避免X-Forwarded-For在 Varnish中进行解析,我试图只在 SSL 终止符(当前是 Apache)上设置一个标头,它将直接客户端 IP 存储在标头中。

在我们的开发机器上,这有效:

RequestHeader set X-Foo %{REMOTE_ADDR}e
Run Code Online (Sandbox Code Playgroud)

然而,在分阶段它没有。具体来说,标题是空的,如两者所示varnishlog

13 TxHeader     b X-Foo: (null)
Run Code Online (Sandbox Code Playgroud)

(在开发机器上,这会按预期显示 IP 地址。)

同样,日志REMOTE_ADDR显示它似乎只在开发机器上填充:

# Config
LogFormat "%{X-Forwarded-For}i %{REMOTE_ADDR}e" combined
CustomLog "/var/log/httpd/access_log" combined

# Log file, staging
<my ip> -

# Log file, development
<my ip> <my ip>
Run Code Online (Sandbox Code Playgroud)

由于开发机器是一个开发机器,它在很多方面都不同;但是,我无法追踪导致这种情况的差异。Apache 的版本是相同的 (2.2.22),我在任何标准配置文件或/etc/sysconfig/httpd. 系统的其余部分相当相似,因为它们是基于相同的 CentOS 5 基础映像构建的。

我什至无法从 Apache 文档中判断是否REMOTE_ADDR应该作为环境变量存在,但它显然可以在一台机器上运行,无论是侥幸还是设计,而且不一致让我发疯。

apache-2.2

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

Varnish 前面的 Nginx 有时会产生“从上游读取响应头时上游过早关闭连接”错误

我在同一台服务器上的 Varnish(4.1.0) 前面有 Nginx(1.9.9)。

//nginx
upstream varnish {
    server 127.0.0.1:8391;
    keepalive 16;
}

location ~ \.php$ {
     proxy_pass http://varnish;
     proxy_http_version 1.1; #for 1.0 varnish shows blank page
     proxy_set_header Connection "";
     proxy_redirect off;

     proxy_set_header Host $host:$server_port;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto $scheme;

     proxy_read_timeout 600;
     proxy_send_timeout 600;
     proxy_connect_timeout 600;
}

//varnish
DAEMON_OPTS="-a :8391 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,1024m"
Run Code Online (Sandbox Code Playgroud)

对于 0.001% 的请求,nginx 显示错误:

[error] 5331#5331: *7392847 upstream prematurely closed connection while reading response header from upstream, …
Run Code Online (Sandbox Code Playgroud)

nginx varnish

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

以编程方式向用户的 crontab 添加条目

我需要在用户的 crontab 文件中添加一行。通常,我会用 来做这件事crontab -e,但我想用一个配置脚本来做。

有什么巧妙的方法吗?

linux cron

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

标签 统计

apache-2.2 ×1

cron ×1

linux ×1

nginx ×1

varnish ×1