服务启动并尝试监听端口#443,我得到 errno=99,即 EADDRNOTAVAIL,并且 std::strerror(errno) 报告“无法分配请求的地址”。
如果我运行 sudo getcap /path/to/binary 我会得到这个:/usr/local/binary_file = cap_net_bind_service+ep
这似乎意味着它有能力,但我无法绑定到端口,有人可以帮助我解决这个问题吗?
答案1
事实证明,我在绑定中指定了错误的 ipaddress,该地址来自编译时传递的环境变量。Setcap 工作得很好。