Почему в документации сервера приложений всегда рекомендуется использовать обратный прокси, например Nginx? Возьмите случайный сервер приложений, такой как Gunicorn, или встроенный сервер для NPM, в чем смысл использования Nginx перед ними? Это просто для обработки нагрузки? Также, если приложение уже работает за балансировщиком облачной нагрузки, например AWS ELB, нужен ли мне обратный прокси-сервер?
P.S. Я понимаю роль обратного прокси для завершения SSL и связанные с этим затраты на процессор. Но зачем кому-то устанавливать Nginx на той же машине, что и Gunicorn, и ставить его за Amazon EBS, я до сих пор не могу понять.
Если мы исключим балансировки нагрузки и безопасность для подобных целей Nginx все еще может быть полезен, так как он лучше производительность обслуживание статического контента. Таким образом, Nginx может обслуживать статические ресурсы, в то время как сервер приложений обрабатывает динамический контент.