相关疑难解决方法(0)

一些 nginx 反向代理配置每天停止工作一次

我有一个 nginx 反向代理,它将请求从外部亚马逊 ELB 代理到内部 ELB。

我有 6 个处理请求的后端实例。启用站点的配置看起来像这样,但有不同的端口号和 proxy_pass。其他一切都相同:

server {
    listen 3000;
    location / {
            proxy_pass http://internal-prod732r8-PrivateE-1GJ070M0745TT-348518554.eu-west-1.elb.amazonaws.com:3000;
            include /etc/nginx/proxy.conf;
    }
Run Code Online (Sandbox Code Playgroud)

}

大约每 24 小时一个配置停止工作。所有其他代理工作正常。如果我重新启动 nginx,所有配置都会再次运行。error.log 中没有任何内容,访问日志、系统日志或 dmesg 中没有任何奇怪的内容。

这是已知的吗?我的代理配置有问题吗?我可以查看其他任何日志吗?

nginx reverse-proxy

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

nginx:解析器在 dns 更新后不刷新

我们今天在 AWS 环境中遇到了 nginx 解析器的问题。根据 nginx 日志文件,在 DNS 记录更改后,nginx 没有解析到正确的服务器。

DNS最初解析:

webservers.ourservers.local A 10.0.0.5
webservers.ourservers.local A 10.0.1.8
Run Code Online (Sandbox Code Playgroud)

...但是一旦这些 IP 地址之一发生更改,nginx 就没有得到更改 - 并不断尝试访问过时的 IP 地址 - 远长于 60 秒 ttl。

根据 nginx.org/en/docs/http/ngx_http_core_module.html#resolver,nginx 解析器仅缓存 ttl 的答案 - 或者,在我们的例子中,为配置的时间。

我的同事将resolver线路从位置块移动到服务器块,但它没有帮助。我们需要重新启动 nginx 以强制它解析到新的 ip。

nginx配置:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$scheme - $http_x_client_ip - $remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    error_log   /var/log/nginx/error.log;

    server {
        listen 8080 default;

        set $OUR_ROOT …
Run Code Online (Sandbox Code Playgroud)

domain-name-system nginx reverse-proxy load-balancing amazon-web-services

5
推荐指数
0
解决办法
2531
查看次数