在 Nginx 中为 set_real_ip_from 使用主机名

在 Nginx 中为 set_real_ip_from 使用主机名

如何set_real_ip_from在 Nginx 中使用主机名而不是直接使用 IP?我有一个反向代理,它可以在重新声明时更改 IP(它是一个 Docker 容器),但我不想信任来自同一范围的其他 IP(其他 Docker 容器)。我正在使用空中码头保持 DNS 条目解析为容器的正确 IP,那么有没有办法使用它来set_real_ip_from代替静态 IP?

答案1

答案2

仅当您想在每次重新启动该容器时重写 nginx 配置时。最好只给它一个静态 IP 地址。

答案3

是的,但这取决于 Nginx 版本。自 以来,Nginx 一直支持该功能1.13.1,但之前的任何官方版本都不支持指令中的主机名Nginx 的文档,因此您必须使用 IP 地址、无类域间路由(跨域路由)或 Unix 套接字:

Syntax:   set_real_ip_from address | CIDR | unix:;
Default:  —
Context:  http, server, location

定义已知可发送正确替换地址的可信地址。如果指定特殊值 unix:,则所有 UNIX 域套接字都将被信任。还可以使用主机名 (1.13.1) 指定受信任的地址。

相关内容