mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-18 10:36:22 +08:00
feat(server): support multiple hosts in one deployment (#12950)
close CLOUD-233 #### PR Dependency Tree * **PR #12950** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for configuring multiple server hosts across backend and frontend settings. * Enhanced deployment and Helm chart configuration to allow specifying multiple ingress hosts. * Updated admin and configuration interfaces to display and manage multiple server hosts. * **Improvements** * Improved URL generation, OAuth, and worker service logic to dynamically handle requests from multiple hosts. * Enhanced captcha verification to support multiple allowed hostnames. * Updated frontend logic for platform-specific server base URLs and allowed origins, including Apple app domains. * Expanded test coverage for multi-host scenarios. * **Bug Fixes** * Corrected backend logic to consistently use dynamic base URLs and origins based on request host context. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -8,6 +8,7 @@ import { ClsModule } from 'nestjs-cls';
|
||||
|
||||
import { AppController } from './app.controller';
|
||||
import {
|
||||
getRequestFromHost,
|
||||
getRequestIdFromHost,
|
||||
getRequestIdFromRequest,
|
||||
ScannerModule,
|
||||
@@ -66,8 +67,9 @@ export const FunctionalityModules = [
|
||||
// make every request has a unique id to tracing
|
||||
return getRequestIdFromRequest(req, 'http');
|
||||
},
|
||||
setup(cls, _req, res: Response) {
|
||||
setup(cls, req: Request, res: Response) {
|
||||
res.setHeader('X-Request-Id', cls.getId());
|
||||
cls.set(CLS_REQUEST_HOST, req.hostname);
|
||||
},
|
||||
},
|
||||
// for websocket connection
|
||||
@@ -79,6 +81,10 @@ export const FunctionalityModules = [
|
||||
// make every request has a unique id to tracing
|
||||
return getRequestIdFromHost(context);
|
||||
},
|
||||
setup(cls, context: ExecutionContext) {
|
||||
const req = getRequestFromHost(context);
|
||||
cls.set(CLS_REQUEST_HOST, req.hostname);
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
// https://papooch.github.io/nestjs-cls/plugins/available-plugins/transactional/prisma-adapter
|
||||
|
||||
Reference in New Issue
Block a user