vite.config
This commit is contained in:
parent
b66c4a4aa7
commit
58c71827cc
5 changed files with 28 additions and 16 deletions
|
|
@ -14,7 +14,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name devops.sozsoft.com;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
|
@ -31,7 +32,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name chat.sozsoft.com;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
|
@ -48,7 +50,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name ai.sozsoft.com;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
|
@ -68,7 +71,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name api.sozsoft.com;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
underscores_in_headers on;
|
underscores_in_headers on;
|
||||||
|
|
@ -88,7 +92,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name cdn.sozsoft.com;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
|
@ -102,7 +107,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name sozsoft.com;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
underscores_in_headers on;
|
underscores_in_headers on;
|
||||||
|
|
@ -119,7 +125,8 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
server_name ~^(?!(devops|chat|ai|api|cdn)\.).*\.sozsoft\.com$;
|
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;
|
ssl_certificate_key /etc/ssl/sozsoft.com/privkey1.pem;
|
||||||
|
|
||||||
underscores_in_headers on;
|
underscores_in_headers on;
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@ services:
|
||||||
profiles: ["app"]
|
profiles: ["app"]
|
||||||
ports:
|
ports:
|
||||||
- 3002:80 # ⚠️ UI uygulaması için dış port açıldı
|
- 3002:80 # ⚠️ UI uygulaması için dış port açıldı
|
||||||
|
volumes:
|
||||||
|
- /home/user/sozsoft.com:/etc/ssl/sozsoft.com:ro
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ ARG ENV="dev"
|
||||||
|
|
||||||
FROM node:22-alpine
|
FROM node:22-alpine
|
||||||
ARG ENV=$ENV
|
ARG ENV=$ENV
|
||||||
|
RUN apk add --no-cache ca-certificates && update-ca-certificates
|
||||||
|
|
||||||
ENV GENERATE_SOURCEMAP=false
|
ENV GENERATE_SOURCEMAP=false
|
||||||
ENV NODE_OPTIONS=--max-old-space-size=16384
|
ENV NODE_OPTIONS=--max-old-space-size=16384
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
// scripts/tenant.ts
|
// scripts/tenant.ts
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import https from 'https'
|
import https from 'https'
|
||||||
|
// import fs from 'fs'
|
||||||
|
|
||||||
export type TenantDto = { name: string }
|
export type TenantDto = { name: string }
|
||||||
export type PagedResultDto<T> = { totalCount: number; items: T[] }
|
export type PagedResultDto<T> = { totalCount: number; items: T[] }
|
||||||
|
|
@ -10,15 +11,12 @@ export async function fetchTenantNames(apiUrl: string): Promise<string[]> {
|
||||||
const url = `${apiUrl.replace(/\/$/, '')}/api/app/platform-tenant?skipCount=0&maxResultCount=1000`
|
const url = `${apiUrl.replace(/\/$/, '')}/api/app/platform-tenant?skipCount=0&maxResultCount=1000`
|
||||||
const isLocalHttps = /^https:\/\/localhost(:\d+)?/i.test(apiUrl)
|
const isLocalHttps = /^https:\/\/localhost(:\d+)?/i.test(apiUrl)
|
||||||
|
|
||||||
const response = await axios.get<PagedResultDto<TenantDto>>(url, {
|
const { data } = await axios.get<PagedResultDto<TenantDto>>(url, {
|
||||||
headers: {
|
headers: { Accept: 'application/json', 'X-Requested-With': 'XMLHttpRequest' },
|
||||||
Accept: 'application/json',
|
|
||||||
'X-Requested-With': 'XMLHttpRequest',
|
|
||||||
},
|
|
||||||
httpsAgent: isLocalHttps ? new https.Agent({ rejectUnauthorized: false }) : undefined,
|
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) {
|
} catch (e) {
|
||||||
console.error('[vite] Tenant listesi alınamadı:', e)
|
console.error('[vite] Tenant listesi alınamadı:', e)
|
||||||
return []
|
return []
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,15 @@ import { VitePWA } from 'vite-plugin-pwa'
|
||||||
import { fetchTenantNames } from './src/services/tenants'
|
import { fetchTenantNames } from './src/services/tenants'
|
||||||
|
|
||||||
export default defineConfig(async ({ mode }) => {
|
export default defineConfig(async ({ mode }) => {
|
||||||
const baseDomains = ['sozsoft.com', 'dev.sozsoft.com']
|
|
||||||
const env = loadEnv(mode, process.cwd(), '')
|
const env = loadEnv(mode, process.cwd(), '')
|
||||||
const apiUrl = env.VITE_API_URL
|
const apiUrl = env.VITE_API_URL
|
||||||
const tenantNames = await fetchTenantNames(apiUrl)
|
const baseDomains = ['sozsoft.com', 'dev.sozsoft.com']
|
||||||
const tenantHosts = tenantNames.flatMap((t) => baseDomains.map((d) => `${t}.${d}`))
|
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]))
|
const allowedHosts = Array.from(new Set(['localhost', ...baseDomains, ...tenantHosts]))
|
||||||
|
|
||||||
|
console.log('[vite] allowedHosts:', allowedHosts)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
plugins: [
|
plugins: [
|
||||||
react({
|
react({
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue