しかしこれ ruby 側がすごく柔軟な制御しているのに対して node 側がワリと融通効かないっぽいので prefer な感じで対応するの無理じゃないのかな
DB_SSLMODE を on/off とかの2択にしてしまうしかないのでは。
@kedama 弊ぼっちインスタンスはPostgresへの接続にSSLが必要で、位置はDATABASE_URLに?ssl=…無しで指定、DB_SSLMODEは設定しないで、Rubyもnodeも接続できてます。自分で確かめたわけじゃないんですが、TLを眺めると今回の変更でSSLを有効にすると接続できないPostgresへのnodeからの接続に問題が出たように見えますねー。
@zundan ありゃ、なんかそれだとむしろ node の方が何もしなくても柔軟によしなにやってくれる気がしますね……w
件の PR で追加された streaming/index.js のコード自体が蛇足だったのかも……ですね
@kedama や、書き方が悪くてすみません。時系列にすると下記のような感じです。
- #10210が入る前
- PostgresにSSLが不要
- Rubyはつながる
- Nodeはつながる
- PostgresにSSLが必要になった
- Rubyはつながる
- Nodeはつながらない
- #10210が入った後、DB_SSLMODE=true
- PostgresにSSLが必要
- Rubyはつながる
- Nodeはつながらない
- #10210が入った後、DB_SSLMODEを未設定にした
- PostgresにSSLが必要
- Rubyはつながる
- Nodeはつながる
手元では https://github.com/tootsuite/mastodon/pull/10219 な感じにしてDATABASE_URLに ?ssl=true を足してうまくいっていたのですが、#10210がマージされてたのでそちらに合わせました…ってみたらまだ動きがあるみたいですね。 https://github.com/tootsuite/mastodon/pull/10225 あざます!