diff --git a/Wavelet/.env.example b/Wavelet/.env.example index 77ad7919..e9af3f65 100644 --- a/Wavelet/.env.example +++ b/Wavelet/.env.example @@ -5,7 +5,7 @@ # ────────────────────────────────────────────────────────────────────────────── # ─── Docker Compose 服务端口映射 ─────────────────────────────────────────────── -APP_PORT=8000 +APP_PORT=3000 POSTGRES_PORT=5432 REDIS_PORT=6379 JAEGER_UI_PORT=16686 @@ -23,7 +23,7 @@ TZ=Asia/Shanghai # ─── 应用配置 ────────────────────────────────────────────────────────────────── APP_NAME=wavelet APP_ENV=production -APP_ADDR=:8000 +APP_ADDR=:3000 APP_NODE_ID=1 APP_API_PREFIX=/api # APP_GRACEFUL_SHUTDOWN_TIMEOUT=30 diff --git a/Wavelet/config.example.yaml b/Wavelet/config.example.yaml index e3f9014c..090c2745 100644 --- a/Wavelet/config.example.yaml +++ b/Wavelet/config.example.yaml @@ -6,7 +6,7 @@ app: app_name: "wavelet" env: "development" # development | testing | production - addr: ":8000" + addr: ":3000" node_id: 1 # Snowflake node ID (0-1023). Must be unique per instance. graceful_shutdown_timeout: 30 session_cookie_name: "wavelet_session_id" # Change to something unique before deploy diff --git a/Wavelet/docker-compose.yml b/Wavelet/docker-compose.yml index d07fd34b..82606f2e 100644 --- a/Wavelet/docker-compose.yml +++ b/Wavelet/docker-compose.yml @@ -14,7 +14,7 @@ services: OTEL_EXPORTER_OTLP_INSECURE: ${OTEL_EXPORTER_OTLP_INSECURE:-true} OTEL_SAMPLING_RATE: ${OTEL_SAMPLING_RATE:-1.0} ports: - - "${APP_PORT:-8000}:8000" + - "${APP_PORT:-3000}:3000" volumes: - ./uploads:/app/uploads - ./data/sqlite:/app/data diff --git a/Wavelet/docker/Dockerfile b/Wavelet/docker/Dockerfile index fa69363f..873afcc7 100644 --- a/Wavelet/docker/Dockerfile +++ b/Wavelet/docker/Dockerfile @@ -62,7 +62,7 @@ WORKDIR /app COPY --from=backend-builder /out/wavelet ./wavelet COPY docs ./docs -EXPOSE 8000 +EXPOSE 3000 ENTRYPOINT ["./wavelet"] CMD ["all"] diff --git a/Wavelet/docker/Dockerfile.backend b/Wavelet/docker/Dockerfile.backend index 861bd6fc..1bb8bfa3 100644 --- a/Wavelet/docker/Dockerfile.backend +++ b/Wavelet/docker/Dockerfile.backend @@ -36,7 +36,7 @@ WORKDIR /app COPY --from=builder /out/wavelet ./wavelet COPY docs ./docs -EXPOSE 8000 +EXPOSE 3000 ENTRYPOINT ["./wavelet"] CMD ["api"] diff --git a/Wavelet/frontend/.env.example b/Wavelet/frontend/.env.example index 1027682d..d5c6cc4a 100644 --- a/Wavelet/frontend/.env.example +++ b/Wavelet/frontend/.env.example @@ -2,7 +2,7 @@ WAVELET_FRONTEND_URL=http://localhost:3000 # 后端 URL -WAVELET_BACKEND_URL=http://localhost:8000 +WAVELET_BACKEND_URL=http://localhost:3000 # Session Cookie WAVELET_SESSION_COOKIE_NAME=wavelet_session_id diff --git a/Wavelet/frontend/components/common/docs/how-to-use.tsx b/Wavelet/frontend/components/common/docs/how-to-use.tsx index 5189d31c..5585f8c0 100644 --- a/Wavelet/frontend/components/common/docs/how-to-use.tsx +++ b/Wavelet/frontend/components/common/docs/how-to-use.tsx @@ -68,7 +68,7 @@ export const howToUseSections: PolicySection[] = [

方式一:Authorization Bearer 头

@@ -77,7 +77,7 @@ Authorization: Bearer at_628d022b7a95e26b...`}

方式二:X-Access-Token 自定义头

diff --git a/Wavelet/frontend/lib/services/core/config.ts b/Wavelet/frontend/lib/services/core/config.ts index f510edec..bbaba6b7 100644 --- a/Wavelet/frontend/lib/services/core/config.ts +++ b/Wavelet/frontend/lib/services/core/config.ts @@ -8,7 +8,7 @@ */ export function getApiBaseUrl(): string { if (typeof window === 'undefined') { - return process.env.WAVELET_BACKEND_URL || process.env.NEXT_PUBLIC_WAVELET_BACKEND_URL || 'http://localhost:8000'; + return process.env.WAVELET_BACKEND_URL || process.env.NEXT_PUBLIC_WAVELET_BACKEND_URL || 'http://localhost:3000'; } return process.env.NEXT_PUBLIC_WAVELET_BACKEND_URL || ''; } diff --git a/Wavelet/frontend/next.config.ts b/Wavelet/frontend/next.config.ts index 20693cb0..7f918247 100644 --- a/Wavelet/frontend/next.config.ts +++ b/Wavelet/frontend/next.config.ts @@ -8,7 +8,7 @@ const nextConfig: NextConfig = { }, ...(isExport ? { output: 'export' } : { async rewrites() { - const backendUrl = process.env.WAVELET_BACKEND_URL || 'http://localhost:8000'; + const backendUrl = process.env.WAVELET_BACKEND_URL || 'http://localhost:3000'; return [ // 上传文件静态资源 { diff --git a/Wavelet/internal/db/migrator/goose/postgres/202606190007_create_of_tls_tables.sql b/Wavelet/internal/db/migrator/goose/postgres/202606190007_create_of_tls_tables.sql index 244448a3..0683a5f6 100644 --- a/Wavelet/internal/db/migrator/goose/postgres/202606190007_create_of_tls_tables.sql +++ b/Wavelet/internal/db/migrator/goose/postgres/202606190007_create_of_tls_tables.sql @@ -40,7 +40,7 @@ CREATE TABLE IF NOT EXISTS of_dns_accounts ( id BIGSERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, type VARCHAR(64) NOT NULL, - authorization TEXT NOT NULL, + "authorization" TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); diff --git a/docs/changelog/index.md b/docs/changelog/index.md index 43aaaa64..604ad48b 100644 --- a/docs/changelog/index.md +++ b/docs/changelog/index.md @@ -22,6 +22,7 @@ sidebar: false - 新增 OpenFlare 业务表 goose 迁移(`of_options`、`of_origins`、`of_proxy_routes`、`of_nodes`、`of_waf_*`、`of_tls_*`、`of_config_versions`、`of_pages_*`、`of_apply_logs` 等)。 - 重叠职能复用 Wavelet 内置用户/OAuth/Cap/认证源能力;新增 `integration` 包覆盖认证、核心链路、安全、Agent 协议集成测试。 - 修复 Wavelet 引入 `openflare` 模块后 `gomodule/redigo v2.0.0+incompatible` 导致 `redistore` 编译失败的问题。 +- Wavelet 后端默认监听端口由 `:8000` 调整为 `:3000`,与旧 OpenFlare Server 保持一致。 ## [v2.3.4] - 2026-06-17