From 58c71827cc0d7de12232ec2a76f8557af300261d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Tue, 12 Aug 2025 15:53:51 +0300 Subject: [PATCH] vite.config --- configs/deployment/configs/nginx.conf | 21 ++++++++++++++------- configs/deployment/docker-compose-app.yml | 2 ++ ui/Kurs.Platform.Ui.Dockerfile | 2 ++ ui/src/services/tenants.ts | 10 ++++------ ui/vite.config.ts | 9 ++++++--- 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/configs/deployment/configs/nginx.conf b/configs/deployment/configs/nginx.conf index 6cadf6d1..e063e334 100644 --- a/configs/deployment/configs/nginx.conf +++ b/configs/deployment/configs/nginx.conf @@ -14,7 +14,8 @@ server { listen 443 ssl http2; server_name devops.sozsoft.com; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; location / { @@ -31,7 +32,8 @@ server { listen 443 ssl http2; server_name chat.sozsoft.com; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; location / { @@ -48,7 +50,8 @@ server { listen 443 ssl http2; server_name ai.sozsoft.com; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; location / { @@ -68,7 +71,8 @@ server { listen 443 ssl http2; server_name api.sozsoft.com; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; underscores_in_headers on; @@ -88,7 +92,8 @@ server { listen 443 ssl http2; server_name cdn.sozsoft.com; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; location / { @@ -102,7 +107,8 @@ server { listen 443 ssl http2; server_name sozsoft.com; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; underscores_in_headers on; @@ -119,7 +125,8 @@ server { listen 443 ssl http2; server_name ~^(?!(devops|chat|ai|api|cdn)\.).*\.sozsoft\.com$; - ssl_certificate /etc/ssl/sozsoft.com/cert1.pem; + ssl_certificate /etc/ssl/sozsoft.com/fullchain1.pem; + ssl_trusted_certificate /etc/ssl/sozsoft.com/chain1.pem; ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem; underscores_in_headers on; diff --git a/configs/deployment/docker-compose-app.yml b/configs/deployment/docker-compose-app.yml index f1a8b1b2..7733d6c7 100644 --- a/configs/deployment/docker-compose-app.yml +++ b/configs/deployment/docker-compose-app.yml @@ -43,6 +43,8 @@ services: profiles: ["app"] ports: - 3002:80 # ⚠️ UI uygulaması için dış port açıldı + volumes: + - /home/user/sozsoft.com:/etc/ssl/sozsoft.com:ro networks: - default diff --git a/ui/Kurs.Platform.Ui.Dockerfile b/ui/Kurs.Platform.Ui.Dockerfile index db4bf5b4..adf7ab15 100644 --- a/ui/Kurs.Platform.Ui.Dockerfile +++ b/ui/Kurs.Platform.Ui.Dockerfile @@ -2,6 +2,8 @@ ARG ENV="dev" FROM node:22-alpine ARG ENV=$ENV +RUN apk add --no-cache ca-certificates && update-ca-certificates + ENV GENERATE_SOURCEMAP=false ENV NODE_OPTIONS=--max-old-space-size=16384 WORKDIR /app diff --git a/ui/src/services/tenants.ts b/ui/src/services/tenants.ts index 7d142e95..e36042fb 100644 --- a/ui/src/services/tenants.ts +++ b/ui/src/services/tenants.ts @@ -1,6 +1,7 @@ // scripts/tenant.ts import axios from 'axios' import https from 'https' +// import fs from 'fs' export type TenantDto = { name: string } export type PagedResultDto = { totalCount: number; items: T[] } @@ -10,15 +11,12 @@ export async function fetchTenantNames(apiUrl: string): Promise { const url = `${apiUrl.replace(/\/$/, '')}/api/app/platform-tenant?skipCount=0&maxResultCount=1000` const isLocalHttps = /^https:\/\/localhost(:\d+)?/i.test(apiUrl) - const response = await axios.get>(url, { - headers: { - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - }, + const { data } = await axios.get>(url, { + headers: { Accept: 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, httpsAgent: isLocalHttps ? new https.Agent({ rejectUnauthorized: false }) : undefined, }) - return (response.data.items ?? []).map((t: TenantDto) => t.name.trim().toLowerCase()) + return (data.items ?? []).map((t) => t.name.trim().toLowerCase()) } catch (e) { console.error('[vite] Tenant listesi alınamadı:', e) return [] diff --git a/ui/vite.config.ts b/ui/vite.config.ts index a7a6c1c5..4ac76d81 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -6,12 +6,15 @@ import { VitePWA } from 'vite-plugin-pwa' import { fetchTenantNames } from './src/services/tenants' export default defineConfig(async ({ mode }) => { - const baseDomains = ['sozsoft.com', 'dev.sozsoft.com'] const env = loadEnv(mode, process.cwd(), '') const apiUrl = env.VITE_API_URL - const tenantNames = await fetchTenantNames(apiUrl) - const tenantHosts = tenantNames.flatMap((t) => baseDomains.map((d) => `${t}.${d}`)) + const baseDomains = ['sozsoft.com', 'dev.sozsoft.com'] + const tenantNames = (await fetchTenantNames(apiUrl)).map((n) => n.trim().toLowerCase()) + const tenantHosts = tenantNames.map((t) => `${t}.sozsoft.com`) const allowedHosts = Array.from(new Set(['localhost', ...baseDomains, ...tenantHosts])) + + console.log('[vite] allowedHosts:', allowedHosts) + return { plugins: [ react({