我想要实现的是将请求通过 nginx 反向代理实例代理传递到分配有动态 IP 的远程服务器。
我能够动态更新 /etc/hosts 映射,但是每当 IP 更改时,nginx 都不会刷新内存中的映射,从而使任何后续代理请求失败。如果我在更新 /etc/hosts 映射后重新启动 nginx 实例,它将再次开始工作。如果可以的话我不想这样做。
我的 nginx 代理位置定义在这一行:
location / {
set $backend https://my.virtual.domain$uri$is_args$args;
proxy_pass $backend;
include proxy_params;
}
如果可能的话,我更喜欢不需要安装本地 DNS 服务器的解决方案。我需要一些东西来指示 nginx 时不时地读取 /etc/hosts 文件内容。
/etc/hosts 映射
#.#.#.# my.virtual.domain
谢谢
我最终使用了热 nginx 重新加载选项,它只是指示 nginx 重新加载设置。当调用reload时,hosts文件新内容也会被加载。
从我设法找到的内容来看,我正在寻找的功能似乎仅在 nginx 的商业版本中可用:resolve属性。
我目前不愿意为此功能付费,所以我现在会坚持使用热重载。