Проблема с разрывом соединения между вашим клиентом и MySQL сервером может быть связана не только с конфигурацией Nginx. Вот несколько факторов, которые вы можете проверить и изменения, которые вы можете внести для решения проблемы:
1. **Настройки MySQL**:
- Проверьте значение параметра `wait_timeout` на сервере MySQL. По умолчанию это значение может быть настроено на 8 часов, но если вы используете соединения с долгими тайм-аутами, вам нужно убедиться, что это значение достаточно большим для ваших сценариев.
```sql
SHOW VARIABLES LIKE 'wait_timeout';
```
- Увеличьте значение параметра `wait_timeout`, если это необходимо.
2. **Настройки Nginx**:
- Убедитесь, что у вас правильно настроены все таймауты. Помимо `proxy_connect_timeout`, `proxy_send_timeout`, и `proxy_read_timeout`, можно попробовать установить следующую настройку:
```nginx
keepalive_timeout 1d;
```
- Проверьте значение `client_body_timeout` и `client_header_timeout`. Убедитесь, что они достаточно велики.
3. **Настройки сети**:
- Проверьте настройки сетевого оборудования (например, маршрутизаторов или брандмауэров), чтобы убедиться, что там нет ограничений по времени на поддерживаемые соединения.
4. **Параметры сокетов**:
- Параметр `net_read_timeout` и `net_write_timeout` на сервере MySQL также может оказывать влияние. По умолчанию они установлены на 30 секунд, и если ваш запрос выполняется дольше, соединение может быть разорвано. Вы можете попробовать увеличить их значения:
```sql
SET GLOBAL net_read_timeout = 3600;
SET GLOBAL net_write_timeout = 3600;
```
- Также стоит рассмотреть возможность установки `interactive_timeout`, если вы работаете с интерактивными соединениями.
5. **Обработка долгих запросов**:
- Рассмотрите возможность использования асинхронного подхода для долгих запросов, например, с помощью фоновых задач или очередей, чтобы не блокировать соединение.
6. **Логи и диагностика**:
- Ознакомьтесь с логами Nginx и MySQL на предмет дополнительных подсказок или ошибок. Также рассмотрите увеличение уровня логирования для получения более подробной информации о происходящем.
7. **Клиентская часть**:
- В некоторых случаях настройки клиентской библиотеки, через которую вы подключаетесь к MySQL, могут также иметь параметры обработки таймаутов. Убедитесь, что параметры, связанные с таймаутом, установлены корректно.
Попробуйте внести эти изменения и проверьте, не исчезнет ли ошибка разрыва соединения после 17 минут.