접속 IP 를 제한하는 결제사 API 를 로컬·스테이징에서 연동하려면 서버가 내보내는 요청의 출발지 IP 를 바꿔야 한다. 브라우저 프록시로는 바뀌지 않는 축이라 코어 환경설정으로 도입한다. 게이트는 디버그 모드이며 판정은 OutboundProxy 한 곳이 소유한다. 화면의 조건부 렌더링은 편의일 뿐이라 저장 API 직접 호출을 막지 못하므로, 실질 게이트를 판정 지점에 둔다. 주입·적용 지점은 결과만 소비한다. 적용은 Http::globalOptions 전역 옵션이라 확장의 Http:: 호출까지 함께 경유한다. 외부 연동 규약상 curl 핸들을 직접 다뤄야 하는 확장은 OutboundProxy::curlOptions 로 같은 프록시를 탄다 — KG이니시스 본인인증 승인 요청과 CBT 연결 점검을 이 통로로 편입했다. CBT 의 TCP 443 확인은 원시 소켓으로는 프록시를 태울 수 없어 curl CONNECT_ONLY 로 교체했다. 저장 전 연결 테스트는 저장값이 아니라 제출값을 검사하고, 그 프록시를 거쳤을 때 외부에 보이는 IP 를 함께 보고한다. 운영자가 결제사에 등록할 값이라 저장하고 나서 되짚지 않도록 했다. 적용과 같은 조립을 거치므로 확인한 구성과 저장 후 적용되는 구성이 어긋나지 않는다.
100 lines
2.1 KiB
Bash
100 lines
2.1 KiB
Bash
APP_NAME="그누보드7"
|
|
APP_ENV=testing
|
|
APP_KEY=
|
|
APP_DEBUG=false
|
|
APP_URL=http://localhost
|
|
APP_VERSION=7.1.0
|
|
|
|
APP_LOCALE=ko
|
|
APP_FALLBACK_LOCALE=ko
|
|
APP_FAKER_LOCALE=ko_KR
|
|
|
|
APP_MAINTENANCE_DRIVER=file
|
|
# APP_MAINTENANCE_STORE=database
|
|
|
|
PHP_CLI_SERVER_WORKERS=4
|
|
|
|
BCRYPT_ROUNDS=12
|
|
|
|
LOG_CHANNEL=stack
|
|
LOG_STACK=single
|
|
LOG_DEPRECATIONS_CHANNEL=null
|
|
LOG_LEVEL=debug
|
|
|
|
DB_CONNECTION=mysql
|
|
|
|
# Write Database Connection (Primary)
|
|
DB_WRITE_HOST=127.0.0.1
|
|
DB_WRITE_PORT=3306
|
|
DB_WRITE_DATABASE=g7_testing
|
|
DB_WRITE_USERNAME=root
|
|
DB_WRITE_PASSWORD=
|
|
|
|
# Database Table Prefix (optional)
|
|
DB_PREFIX=g7_
|
|
|
|
# Read Database Connection (테스트에서는 WRITE와 동일하게 설정)
|
|
# 비워두면 config/database.php 가 WRITE 값으로 대체하나, 테스트 DB 명시를 위해 값을 채워 둔다.
|
|
DB_READ_HOST=127.0.0.1
|
|
DB_READ_PORT=3306
|
|
DB_READ_DATABASE=g7_testing
|
|
DB_READ_USERNAME=root
|
|
DB_READ_PASSWORD=
|
|
|
|
SESSION_DRIVER=database
|
|
SESSION_LIFETIME=120
|
|
SESSION_ENCRYPT=false
|
|
SESSION_PATH=/
|
|
SESSION_DOMAIN=null
|
|
SESSION_COOKIE=g7-session
|
|
|
|
BROADCAST_CONNECTION=log
|
|
FILESYSTEM_DISK=local
|
|
QUEUE_CONNECTION=database
|
|
|
|
CACHE_STORE=file
|
|
CACHE_PREFIX=g7-cache-
|
|
|
|
MEMCACHED_HOST=127.0.0.1
|
|
|
|
REDIS_CLIENT=phpredis
|
|
REDIS_HOST=127.0.0.1
|
|
REDIS_PASSWORD=null
|
|
REDIS_PREFIX=g7-database-
|
|
REDIS_PORT=6379
|
|
|
|
MAIL_MAILER=log
|
|
MAIL_SCHEME=null
|
|
MAIL_HOST=127.0.0.1
|
|
MAIL_PORT=2525
|
|
MAIL_USERNAME=null
|
|
MAIL_PASSWORD=null
|
|
MAIL_FROM_ADDRESS="hello@example.com"
|
|
MAIL_FROM_NAME="${APP_NAME}"
|
|
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_DEFAULT_REGION=us-east-1
|
|
AWS_BUCKET=
|
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
|
# 아래 3키는 사용할 때만 주석을 해제하세요 — 값 없는 `KEY=` 는 "미설정" 이 아니라
|
|
# 빈 문자열로 적용됩니다 (S3 공개 URL / S3 호환 엔드포인트 / 첨부 디스크 강제 지정)
|
|
# AWS_URL=
|
|
# AWS_ENDPOINT=
|
|
# ATTACHMENT_DISK=
|
|
|
|
VITE_APP_NAME="${APP_NAME}"
|
|
|
|
|
|
# Installer Admin Account (Used by AdminUserSeeder)
|
|
INSTALLER_ADMIN_NAME="관리자"
|
|
INSTALLER_ADMIN_EMAIL="admin@example.com"
|
|
INSTALLER_ADMIN_PASSWORD=
|
|
|
|
# Installation Status
|
|
INSTALLER_COMPLETED=true
|
|
|
|
# Telescope Configuration
|
|
TELESCOPE_ENABLED=false
|
|
TELESCOPE_DB_CONNECTION=mysql
|