2021年にh2oをsystemd管理にしてから、UNIXドメインソケットでの接続 (unix:/tmp/backend とかにしてた) がうまくいかず、ずっと TCP を無駄に通してた。
これがいまさらながら解決した。つまり /tmp は systemd が PrivateTmp で隔離しているので共有できないというだけだった。
なので以下のように RuntimeDirectory の設定を入れる。
RuntimeDirectory=hanrangon RuntimeDirectoryMode=0755
これで /run/hanrangon が systemd によって作られるので、ここの下に /run/hanrangon/socket として UNIXドメインソケットを作るといいらしい。
フロント(h2o)からは http://[unix:/run/hanrangon/socket] を指定する。