From 3feaf39294052c1edd0753fb9c3968ba2c05f57f Mon Sep 17 00:00:00 2001
From: Mary <Ipadlover8322@gmail.com>
Date: Mon, 16 Jan 2023 12:21:15 -0500
Subject: [PATCH] ApRequestService: don't generate our own Host header (#9378)

---
 packages/backend/src/core/activitypub/ApRequestService.ts | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/packages/backend/src/core/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts
index d44d06a442..ab22a0c411 100644
--- a/packages/backend/src/core/activitypub/ApRequestService.ts
+++ b/packages/backend/src/core/activitypub/ApRequestService.ts
@@ -57,7 +57,7 @@ export class ApRequestService {
 			method: 'POST',
 			headers: this.objectAssignWithLcKey({
 				'Date': new Date().toUTCString(),
-				'Host': u.hostname,
+				'Host': u.host,
 				'Content-Type': 'application/activity+json',
 				'Digest': digestHeader,
 			}, args.additionalHeaders),
@@ -83,7 +83,7 @@ export class ApRequestService {
 			headers: this.objectAssignWithLcKey({
 				'Accept': 'application/activity+json, application/ld+json',
 				'Date': new Date().toUTCString(),
-				'Host': new URL(args.url).hostname,
+				'Host': new URL(args.url).host,
 			}, args.additionalHeaders),
 		};
 
@@ -106,6 +106,8 @@ export class ApRequestService {
 		request.headers = this.objectAssignWithLcKey(request.headers, {
 			Signature: signatureHeader,
 		});
+		// node-fetch will generate this for us. if we keep 'Host', it won't change with redirects!
+		delete request.headers['host'];
 
 		return {
 			request,