反向代理的别名访问的问题。

我已经把OpenResty的网络改到1penel-network 以便他可以反代到容器的内网别名。
我有一个容器,DNS别名为 web-latest,内网分配的IP是172.18.0.8。
在OpenResty上部署了一个网站,反代代理到http://web-latest
正常是可以访问的。
然后,我从新构建了一个web-latest,分配IP为172.18.0.9,并且把172.18.0.8给删除掉了。

这个时候,我在通过OpenResty进行访问,我看了错误日志,他还是把反代指向了172.18.0.8的这个地址。
然后,我只要重载一下OpenResty,就能被解析到172.18.0.9,并且正常访问。

我要怎么做,才能不重载,而正常解析到172.18.0.9。

我感觉像是DNS缓存,但是不知道应该怎么清理缓存。麻烦看一下。

这个确实是 DNS 缓存 你需要修改 Nginx 配置文件
具体怎么改 可以看一下 nginx 的文档 或者问一下 AI`

Ai的建议是要加上
resolver 127.0.0.11 valid=5s;
并且使用变量名进行反代,咱们界面上好像不能使用变量名进行反代,只能直接修改配置文件吗?

server {
listen 80;
server_name your-site.com;

# 127.0.0.11 是 Docker 内部 DNS
resolver 127.0.0.11 valid=5s;

location / {
    # --- 关键修改:先定义变量 ---
    set $backend_host "web-latest";
    set $backend_port "80"; # 建议显式指定端口
    
    # --- 关键修改:使用变量进行代理 ---
    proxy_pass http://$backend_host:$backend_port;

    # 注意:使用变量后,你可能需要手动处理 Host 头
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}