1,736
社区成员
发帖
与我相关
我的任务
分享
proxy_pass http://myhomeserver:81
在你的web应用更新IP的接口逻辑里,加点东西:
获取/etc/hosts的内容,查找 myhomeserver 所在行
如果没有结果,就在/etc/hosts里新增一句 x.x.x.x myhomeserver ,保存回去(x.x.x.x是你家里的ip)
如果有结果,就将读出来的内容里,将老ip a.a.a.a myhomeserver替换成 x.x.x.x myhomeserver再保存回去。
string ip = "x.x.x.x";
string[] hosts = System.IO.File.ReadAllLines("/etc/hosts");
bool replaced = false;
for (int i = 0; i < hosts.Count(); i++)
{
if (hosts[i].Contains("homeserver"))
{
hosts[i] = ip + "\thomeserver";
replaced = true;
}
}
List<string> result = hosts.ToList();
if (!replaced) result.Add(ip + "\thomeserver");
System.IO.File.WriteAllText("/etc/hosts", string.Join("\r\n", result));