xavis 소스·DB 스키마·활용사례/F-Scan/프롬프트 라이브러리 등 기능 반영. @xavis.co.kr → @ncue.net, 관리자 토큰 ncue-admin, 런타임 data/ Git 추적 제외. Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.5 KiB
Plaintext
46 lines
1.5 KiB
Plaintext
<IfModule mod_ssl.c>
|
|
<VirtualHost *:443>
|
|
ServerName ai.xavis.co.kr
|
|
|
|
ProxyPreserveHost On
|
|
|
|
# 대용량 업로드(회의 음성 등, 앱 MEETING_AUDIO_MAX_MB 와 맞출 것)
|
|
LimitRequestBody 314572800
|
|
|
|
# 전사·LLM 등 장시간 응답. 회의록 음성 SSE는 수 분 이상 걸릴 수 있음.
|
|
TimeOut 600
|
|
ProxyTimeout 600
|
|
|
|
# 앱 응답의 X-Accel-Buffering: no 는 Nginx 전용. Apache mod_proxy_http 는 무시하므로,
|
|
# 스트림이 끊기면 TimeOut/ProxyTimeout 과 VirtualHost 레벨 mod_deflate(전역 압축 시 text/event-stream) 여부를 점검.
|
|
|
|
# HTTPS 프록시임을 Node/앱에 알림 (쿠키 Secure, 리다이렉트 URL 등)
|
|
RequestHeader set X-Forwarded-Proto "https"
|
|
|
|
# 클라이언트 IP 등 전달 (Apache 2.4.31+, mod_proxy_http)
|
|
<IfModule mod_proxy_http.c>
|
|
ProxyAddHeaders On
|
|
</IfModule>
|
|
|
|
# 나머지 모든 요청 — Node.js Express (매직링크 인증 포함)
|
|
ProxyPass / http://127.0.0.1:8030/
|
|
ProxyPassReverse / http://127.0.0.1:8030/
|
|
|
|
SSLEngine on
|
|
Include /etc/letsencrypt/options-ssl-apache.conf
|
|
|
|
ErrorLog ${APACHE_LOG_DIR}/ai.xavis.co.kr_ssl_error.log
|
|
CustomLog ${APACHE_LOG_DIR}/ai.xavis.co.kr_ssl_access.log combined
|
|
|
|
<Location />
|
|
<RequireAll>
|
|
Require all granted
|
|
Require not env bad_bot
|
|
</RequireAll>
|
|
</Location>
|
|
|
|
SSLCertificateFile /etc/letsencrypt/live/ai.xavis.co.kr/fullchain.pem
|
|
SSLCertificateKeyFile /etc/letsencrypt/live/ai.xavis.co.kr/privkey.pem
|
|
</VirtualHost>
|
|
</IfModule>
|