我在尝试使用golang +加密在Google Cloud Platform上设置https时遇到问题
我已经有一个针对实例IP的域
我还让我们加密了证书和保存在/etc/letsencrypt/live/mydomain.com /
我已经将myapp设置为使用证书,并配置为通过systemctl使用myapp.service作为服务运行
在完成所有这些配置之后,我总是收到下一条错误消息:
Feb 14 11:29:47 https https[1982]: 2019/02/14 11:29:47 listen tcp :443: bind: permission denied
Feb 14 11:29:47 https systemd[1]: https.service: Main process exited, code=exited, status=1/FAILURE
Feb 14 11:29:47 https systemd[1]: https.service: Unit entered failed state.
Feb 14 11:29:47 https systemd[1]: https.service: Failed with result 'exit-code'.
答案 0 :(得分:5)
如果要绑定到privileged port(端口小于1024)。您要么需要root
要么具备CAP_NET_BIND_SERVICE
的能力。
答案 1 :(得分:0)
好吧,我只是想查找有关CAP_NET_BIND_SERVICE的更多信息,所以我在另一篇文章中找到了Scott Stensland的答案:
https://unix.stackexchange.com/questions/455221/setcap-not-found-in-debian-9/455234#455234
现在看起来很固定...谢谢
但是现在我有一个“打开/etc/letsencrypt/live/mydomain.com/cert.pem:权限被拒绝”错误:\(正在寻找其他正在进行的解决方案...)
答案 2 :(得分:0)
使用 iptables 进行端口重定向。通过flappysocks查看这个答案 https://stackoverflow.com/a/1762807/1100242