Выпуск сервера приложений NGINX Unit 1.27.0

Опубликован сервер приложений NGINX Unit 1.27.0, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.

В новой версии:

  • Добавлена возможность использования переменных и пустых значений в директиве «location», привязанных к действиям «return».

  • Упрощено перенаправление HTTP-запросов на HTTPS. Добавлена новая переменная $request_uri, содержащая URI запроса, которую можно использовать при определении маршрута в качестве параметра директивы «location» внутри блока «action»:
    
    {
        "listeners": {
            "*:443": {
                "tls": {
                    "certificate": "example.com"
                },
                "pass": "routes"
            },
            "*:80": {
                "pass": "routes"
            }
         },
    
        "routes": [
            {
                "match": {
                    "scheme": "http"
                },
                "action": {
                    "return": 301,
                    "location": "https://${host}${request_uri}"
                }
            }
    }
    
  • Предоставлена возможность настройки имени файла, отличного от index.html, который будет отдан при обращении с указанием только каталога (например, site.com/cms/).
    "routes": [
        {
            "match": {
                "uri": "/cms/*"
            },
            "action": {
                "share": "/var/cms$uri",
                "index": "default.html"
            }
        },
        {
            "action": {
                "share": "/var/www$uri"
            }
        }
    ]
    
  • Для Ruby Rack реализована установка переменной окружения «SCRIPT_NAME».
  • Обеспечена совместимость с GCC 12.



Источник: http://www.opennet.ru/opennews/art.shtml? num=57293

© OpenNet