Экземпляр 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
Контекст: конфигурация сервера, виртуальный хост

Другие вопросы по тегам