{"url":"https://kazu-yamamoto.hatenablog.jp/entry/2020/12/04/141308","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkazu-yamamoto.hatenablog.jp%2Fentry%2F2020%2F12%2F04%2F141308\" title=\"QUIC and Linux capabilities - \u3042\u3069\u3051\u306a\u3044\u8a71\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","author_url":"https://blog.hatena.ne.jp/kazu-yamamoto/","description":"For security reasons, the typical boot process of HTTPS servers is as follows: Executed by a root. Reading a TLS private key and open a listen socket on TCP port 443. Switching the root user to nobody (or something). Since accept() can create connected sockets bound to TCP port 443 even with non-roo\u2026","blog_title":"\u3042\u3069\u3051\u306a\u3044\u8a71","type":"rich","author_name":"kazu-yamamoto","categories":["Haskell","QUIC"],"published":"2020-12-04 14:13:08","height":"190","blog_url":"https://kazu-yamamoto.hatenablog.jp/","image_url":null,"version":"1.0","title":"QUIC and Linux capabilities","provider_name":"Hatena Blog","provider_url":"https://hatena.blog"}