105 lines
3.7 KiB
PHP
105 lines
3.7 KiB
PHP
<?php
|
|
|
|
return [
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| GeoIP 활성화 여부
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| IP 기반 지역 감지 기능의 활성화 여부를 설정합니다.
|
|
| 이 기능을 사용하려면 GeoLite2-City.mmdb 파일이 필요합니다.
|
|
|
|
|
| 런타임 값은 관리자 > 환경설정 > 고급 탭의 마스터 토글에서 제어됩니다.
|
|
| SettingsServiceProvider::applyGeoIpConfig()가 settings JSON 값을
|
|
| 이 config에 오버라이드합니다.
|
|
|
|
|
*/
|
|
'enabled' => env('GEOIP_ENABLED', false),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| MaxMind 라이선스 키
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| MaxMind 무료 계정에서 발급받는 라이선스 키입니다.
|
|
| 런타임 값은 환경설정 > 고급 탭에서 입력되며 sensitive 필드로 마스킹됩니다.
|
|
|
|
|
*/
|
|
'license_key' => env('GEOIP_LICENSE_KEY', ''),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 자동 업데이트 활성화
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| 주기적으로 GeoLite2 DB를 재다운로드할지 여부입니다.
|
|
| 런타임 값은 환경설정 > 고급 탭에서 제어됩니다.
|
|
|
|
|
*/
|
|
'auto_update_enabled' => env('GEOIP_AUTO_UPDATE_ENABLED', true),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 마지막 업데이트 시각
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| 마지막 성공적인 DB 다운로드 시각 (ISO8601 문자열).
|
|
| geoip:update 커맨드가 성공 시 settings에 기록합니다.
|
|
|
|
|
*/
|
|
'last_updated_at' => null,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| GeoLite2 데이터베이스 파일 경로
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| MaxMind GeoLite2-City.mmdb 파일의 저장 경로입니다.
|
|
|
|
|
*/
|
|
'database_path' => storage_path('app/geoip/GeoLite2-City.mmdb'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 다운로드 설정
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
'download' => [
|
|
'edition_id' => 'GeoLite2-City',
|
|
'base_url' => 'https://download.maxmind.com/app/geoip_download',
|
|
'timeout' => 120,
|
|
'retry_attempts' => 3,
|
|
'retry_delay_ms' => 10000,
|
|
'user_agent' => 'g7-core/1.0 (+https://gnuboard.com)',
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 스케줄 설정
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| frequency: weekly | daily
|
|
| MaxMind는 주 2회(화/금) DB를 갱신하므로 주 1회(수요일)로도 충분합니다.
|
|
|
|
|
*/
|
|
'schedule' => [
|
|
'frequency' => env('GEOIP_SCHEDULE_FREQUENCY', 'weekly'),
|
|
'time' => env('GEOIP_SCHEDULE_TIME', '03:00'),
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 캐시 설정
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| IP별 타임존 조회 결과를 캐싱하여 성능을 향상시킵니다.
|
|
| 캐시 TTL은 초 단위로 설정합니다.
|
|
|
|
|
*/
|
|
'cache' => [
|
|
'enabled' => true,
|
|
'prefix' => 'geoip.timezone.',
|
|
'ttl' => 86400, // 24시간 (초 단위)
|
|
],
|
|
];
|