11.27.0を適用してからオブジェクトストレージの不具合が発生している。

↑の設定でいままで動作していた
ログはこちら:
ERR 2 [api] NetworkingError [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: y-mks.resonator.yuzulia.xyz. is not in the cert's altnames: DNS:*.yuzulia.xyz, DNS:yuzulia.xyz
WARN 2 [api] SLOW API CALL DETECTED: drive/files/create (6581.484359025955ms)
INFO 2 [server] --> POST /api/drive/files/create 500 6,641ms 173b
TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
--- property 'issuerCertificate' closes the circle
at JSON.stringify (<anonymous>)
at PostgresDriver.preparePersistentValue (/home/misskey/misskey/node_modules/typeorm/driver/postgres/PostgresDriver.js:428:25)
at /home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:354:53
at Array.forEach (<anonymous>)
at /home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:340:25
at Array.forEach (<anonymous>)
at InsertQueryBuilder.createValuesExpression (/home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:339:23)
at InsertQueryBuilder.createInsertExpression (/home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:231:37)
at InsertQueryBuilder.getQuery (/home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:34:24)
at InsertQueryBuilder.QueryBuilder.getQueryAndParameters (/home/misskey/misskey/node_modules/typeorm/query-builder/QueryBuilder.js:224:26)
at InsertQueryBuilder.<anonymous> (/home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:75:50)
at step (/home/misskey/misskey/node_modules/tslib/tslib.js:136:27)
at Object.next (/home/misskey/misskey/node_modules/tslib/tslib.js:117:57)
at /home/misskey/misskey/node_modules/tslib/tslib.js:110:75
at new Promise (<anonymous>)
at Object.__awaiter (/home/misskey/misskey/node_modules/tslib/tslib.js:106:16)
at InsertQueryBuilder.execute (/home/misskey/misskey/node_modules/typeorm/query-builder/InsertQueryBuilder.js:41:24)
at EntityManager.<anonymous> (/home/misskey/misskey/node_modules/typeorm/entity-manager/EntityManager.js:265:30)
at step (/home/misskey/misskey/node_modules/tslib/tslib.js:136:27)
at Object.next (/home/misskey/misskey/node_modules/tslib/tslib.js:117:57)
at /home/misskey/misskey/node_modules/tslib/tslib.js:110:75
at new Promise (<anonymous>)
at Object.__awaiter (/home/misskey/misskey/node_modules/tslib/tslib.js:106:16)
at EntityManager.insert (/home/misskey/misskey/node_modules/typeorm/entity-manager/EntityManager.js:250:24)
at Repository.insert (/home/misskey/misskey/node_modules/typeorm/repository/Repository.js:93:29)
at Logger.log (/home/misskey/misskey/built/services/logger.js:55:18)
at Logger.error (/home/misskey/misskey/built/services/logger.js:71:18)
at /home/misskey/misskey/built/server/api/endpoints/drive/files/create.js:94:28
at processTicksAndRejections (internal/process/task_queues.js:85:5)
ホスト名が期待しているものと違う
※マイグレーションコマンドは実施済み
Related to #5226?
ライブラリがエンドポイントをvirtual hosted–styleに変えちゃってる?
https://dev.classmethod.jp/cloud/aws/s3-no-longer-support-path-style-requests/
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#constructor-property
s3ForcePathStyleでなおるかも
(遅れたー)
どうやってテストしようか考えてるわ
対応は本当に s3ForcePathStyle でいいんですかね……?
いいとは思う
というと、また一年後改修するということですか?
パス生成方式で1年後ダメになるのはDL URLの生成部分だけではと思ってて
URL生成方法はUIで指定できるようになってるのでそっちを弄るようにすればいいのではと
ふーむ
なにがわからない?
いえ、大丈夫です。失礼しました。
https://dev.classmethod.jp/cloud/aws/s3-no-longer-support-path-style-requests/
これ結局対応しなければならなそう
https://github.com/syuilo/misskey/blob/db01fa0eefe22e21abc5ddbe727e99b796155077/src/services/drive/s3.ts#L15
を空文字列だったらundefinedにするようにして
S3の場合はendpointを空のままにしておくという指示にすればよさそう