Nginx Unit 是一个动态应用服务器,能够与 Nginx Plus 和 Nginx 开源版并行或独立运行。Nginx Unit 支持 RESTful JSON API,可以在不中断服务的情况下更改配置,并可运行基于多种语言和架构的应用。Nginx Unit 生来就是为满足分布式应用的需求而设计的,可为您的服务网格奠定坚实的基础。
Nginx Unit 1.27.0 正式发布,更新内容如下:
将 HTTP 请求重定向到 HTTPS
自从在 Unit 中加入了 TLS 支持和证书管理,就被要求简化将纯文本 HTTP 请求重定向到启用 TLS 的监听器。现在可以通过配置路由 action 的
location
值来实现这一功能。事实上,现在有一个新的变量,
$request_uri
,它包含了原始 URI 的路径和查询部分,完整的例子如下:
{
"listeners": {
"*:443": {
"tls": {
"certificate": "example.com"
},
"pass": "routes"
},
"*:80": {
"pass": "routes"
}
},
"routes": [
{
"match": {
"scheme": "http"
},
"action": {
"return": 301,
"location": "<https://
gt;{host}${request_uri}" } } }
这种配置使 Unit 能够监听纯文本和启用 TLS 的端口,确保在纯文本端口收到的任何请求都会通知浏览器在启用 TLS 的端口重新提交。
为纯路径 URI 提供可配置的文件名
现在你可以通过为路由 action 指定索引来使用不同的默认文件名。下面提供了一个完整的例子:
"routes": [
{
"match": {
"uri": "/cms/*"
},
"action": {
"share": "/var/cms$uri",
"index": "default.html"
}
},
{
"action": {
"share": "/var/www$uri"
}
}
]
这个配置使 Unit 能够为指向
/cms/*
的纯路径 URI 提供
default.html
,为所有其他纯路径的 URI 提供默认的
index.html
文件名。
其他
- 与 GCC 12 兼容
- 错误修正:一些 Spring Boot 应用程序无法启动
- 错误修正:Python 协议的自动检测不正确
- 错误修正:ECMAScript 模块不能与最近的 Node.js 版本一起使用
平台更新
官方软件包现在可用于以下 Linux 发行版:
- Fedora 36
- RHEL 9
- Ubuntu 22.04
Docker 镜像已经更新,以使用最新的语言版本:
更多详情可查看:https://unit.nginx.org/news/2022/unit-1.27.0-released/