Экземпляр ec2 всегда истекает через 60 секунд?
Почему мой экземпляр ec2 всегда прерывается примерно через 60 секунд, когда я получаю доступ к http или https? Примерно через 60 секунд всегда возвращайтесь:
Ошибка сети (tcp_error)
Произошла ошибка связи: "Тайм-аут операции". Возможно, веб-сервер не работает, слишком занят или испытывает другие проблемы, не позволяющие ему отвечать на запросы. Вы можете попробовать еще раз позже.
Для получения помощи обратитесь в службу поддержки сети.
и несколько раз возвращаются:
Время ожидания шлюза
Шлюз не получил своевременный ответ от сервера обновлений или приложения.
Я использую веб-сервер Apache и PHP с максимальным временем ожидания. Я не использую ELB/Load Balancer в своем EC2, и я никогда не создаю ELB. Я пытался найти решение в интернете, но всегда находил настройки ELB.
2 ответа
По этой статье мне просто нужно запустить команду ниже
/sbin/sysctl -w net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
Я пытался и не работает, но после того, как я отредактировал /etc/sysctl.conf и добавьте следующий код:
net.ipv4.tcp_keepalive_time=200
net.ipv4.tcp_keepalive_intvl=200
net.ipv4.tcp_keepalive_probes=5
Затем я перезагрузил свой экземпляр, и теперь время ожидания больше.
В вашей конфигурации apache / vhost вам нужно установить директиву Timeout на желаемое значение времени ожидания.
https://httpd.apache.org/docs/2.4/mod/core.html
Описание: количество времени, которое сервер будет ожидать определенных событий, прежде чем выполнить запрос
Синтаксис: Тайм-аут секунд
По умолчанию: TimeOut 60
Контекст: конфигурация сервера, виртуальный хост