gpt4 book ai didi

java - 如何使用防火墙/iptables 在不中断的情况下重启 Java 服务?

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:29 26 4
gpt4 key购买 nike

如果开启这条规则

iptables -t nat -A PREROUTING -p tcp --dport 80  -j REDIRECT --to 8080

然后到达服务器端口 80 的连接被重定向到 localhost:8080。如果我想重启服务,我可以直接在另一个端口启动服务吗?说端口 8081 并将防火墙重新路由到

iptables -t nat -A PREROUTING -p tcp --dport 80  -j REDIRECT --to 8081 # Apparently -A won't work. I have to replace the rule, not add it. But I don't know how to do it yet

但是,在经过 NAT 的 8080 端口上建立的 TCP 套接字连接又如何呢?防火墙更改后它们会立即被删除吗?或者,它们会一直工作直到正常的 TCP 套接字关闭吗?

如果是这样,那么通过正常关闭端口 8080 上的旧实例和具有新功能的端口 8081 上的新实例,这可以在不中断的情况下重新启动应用程序。

这个推理正确吗?

最佳答案

是的,您可以在新端口 8081 上启动其他 Java 进程,并将防火墙规则更改为该端口。重新启动时连接是否会被丢弃由选项 IPTABLES_MODULES_UNLOAD 决定。如果此选项设置为 yes(默认)——它们将被丢弃,如果没有——则它们不应该被丢弃。我建议使用反向代理(例如 Nginx)而不是防火墙来进行平衡。

关于java - 如何使用防火墙/iptables 在不中断的情况下重启 Java 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38836971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com