0.6.4-thumb-upgrade
Some checks failed
Deploy / deploy (push) Has been skipped
CI / lint (push) Successful in 1m53s
CI / test (push) Failing after 9m28s

This commit is contained in:
2025-09-03 10:21:17 +03:00
parent f0b327a99a
commit ae0fc9a18d
15 changed files with 1180 additions and 202 deletions

View File

@@ -39,6 +39,9 @@ async fn main() -> std::io::Result<()> {
});
});
// Запускаем периодическую очистку кэша
app_state.start_cache_cleanup_task();
// Конфигурация безопасности
let security_config = SecurityConfig::default();
info!(
@@ -48,22 +51,30 @@ async fn main() -> std::io::Result<()> {
);
HttpServer::new(move || {
// Настройка CORS middleware - ограничиваем в продакшене
// Настройка CORS middleware - более гибкая для разработки
let cors = Cors::default()
.allowed_origin("https://discours.io")
.allowed_origin("https://new.discours.io")
.allowed_origin("https://testing.discours.io")
.allowed_origin("http://localhost:3000") // FIXME: для разработки
.allowed_origin("http://localhost:3000")
.allowed_origin("https://localhost:3000") // HTTPS для разработки
.allowed_origin("https://files.dscrs.site") // Добавляем домен файлов
.allowed_methods(vec!["GET", "POST", "OPTIONS"])
.allowed_headers(vec![
header::CONTENT_TYPE,
header::AUTHORIZATION,
header::IF_NONE_MATCH,
header::CACHE_CONTROL,
header::RANGE, // Для аудио стриминга
])
.expose_headers(vec![
header::CONTENT_LENGTH,
header::ETAG,
header::CONTENT_RANGE, // Для аудио стриминга
header::ACCEPT_RANGES,
])
.expose_headers(vec![header::CONTENT_LENGTH, header::ETAG])
.supports_credentials()
.max_age(86400); // 1 день вместо 20
.max_age(86400); // 1 день
// Заголовки безопасности
let security_headers = DefaultHeaders::new()