summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEssem <smswessem@gmail.com>2023-08-19 23:20:01 -0500
committerGitHub <noreply@github.com>2023-08-20 13:20:01 +0900
commit3eacbe6b6d80321d2672c02e640616395ef565ae (patch)
tree0e8dfb6797bf531001f0a72e1524751f342c72fe
parentfix(backend): ジョブキュー管理画面の認証を回避できる問題... (diff)
downloadmisskey-3eacbe6b6d80321d2672c02e640616395ef565ae.tar.gz
misskey-3eacbe6b6d80321d2672c02e640616395ef565ae.tar.bz2
misskey-3eacbe6b6d80321d2672c02e640616395ef565ae.zip
enhance(backend): Add address bind config option (#11725)
* Add address bind config option * Edit changelog * forgot to add to types
-rw-r--r--.config/example.yml3
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/backend/src/config.ts1
-rw-r--r--packages/backend/src/core/HttpRequestService.ts4
4 files changed, 9 insertions, 0 deletions
diff --git a/.config/example.yml b/.config/example.yml
index 49683c2f30..cca44ce88c 100644
--- a/.config/example.yml
+++ b/.config/example.yml
@@ -159,6 +159,9 @@ id: 'aid'
#deliverJobMaxAttempts: 12
#inboxJobMaxAttempts: 8
+# Local address used for outgoing requests
+#outgoingAddress: 127.0.0.1
+
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 38dcddaa91..02a0fa16d6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -54,6 +54,7 @@
### Server
- Fix: APIのオフセットが壊れていたせいで「もっと見る」でもっと見れない問題を修正
- Fix: 外部サーバーの投稿がタイムラインに表示されないことがある問題を修正
+- Enhance: Add address bind config option (outgoingAddress)
## 13.14.1
diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts
index 29f511842c..3c70e0bbe3 100644
--- a/packages/backend/src/config.ts
+++ b/packages/backend/src/config.ts
@@ -76,6 +76,7 @@ export type Source = {
id: string;
+ outgoingAddress?: string;
outgoingAddressFamily?: 'ipv4' | 'ipv6' | 'dual';
deliverJobConcurrency?: number;
diff --git a/packages/backend/src/core/HttpRequestService.ts b/packages/backend/src/core/HttpRequestService.ts
index 487172deae..73bb3dc7e9 100644
--- a/packages/backend/src/core/HttpRequestService.ts
+++ b/packages/backend/src/core/HttpRequestService.ts
@@ -53,12 +53,14 @@ export class HttpRequestService {
keepAlive: true,
keepAliveMsecs: 30 * 1000,
lookup: cache.lookup as unknown as net.LookupFunction,
+ localAddress: config.outgoingAddress,
});
this.https = new https.Agent({
keepAlive: true,
keepAliveMsecs: 30 * 1000,
lookup: cache.lookup as unknown as net.LookupFunction,
+ localAddress: config.outgoingAddress,
});
const maxSockets = Math.max(256, config.deliverJobConcurrency ?? 128);
@@ -71,6 +73,7 @@ export class HttpRequestService {
maxFreeSockets: 256,
scheduling: 'lifo',
proxy: config.proxy,
+ localAddress: config.outgoingAddress,
})
: this.http;
@@ -82,6 +85,7 @@ export class HttpRequestService {
maxFreeSockets: 256,
scheduling: 'lifo',
proxy: config.proxy,
+ localAddress: config.outgoingAddress,
})
: this.https;
}