NGINX Plus Release 28 (R28) のリリースについて
2022年 11月 29日に NGINX Plus Release 28 (R28) がリリースされましたので更新内容をまとめてみました。
こんにちは。 narai です。みなさん NGINX 使ってますか?
さて、2022年 11月 29日 に NGINX Plus の最新版 (R28) がリリースされましたので、追加された機能をまとめてみました。
サポートOSについて
NGINX Plus R28 でサポートされているディストリビューション
- AlmaLinux 8, 9
- Alpine Linux 3.13, 3.14, 3.15, 3.16, 3.17
- Amazon Linux 2 LTS
- CentOS 7.4+
- Debian 11
- FreeBSD 12.1+, 13
- Oracle Linux 7.4+, 8.1+, 9
- RHEL 7.4+, 8.1+, 9.0+
- Rocky Linux 8, 9
- SUSE Linux Enterprise Server 12 SP5, 15 SP2
- Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS
R27 からの変更点としては、Debian 10
がサポートから外れました。
主な機能リリース
R28 の主な機能リリースとしては、以下の 3 点となります。
- SSL/TLS のメトリクス追加
- Public Cloud (AWS,Azure,GCP) における Proxy Protocol v2 の TLV 変数追加
- Sticky cookie における SameSite パラメータの変数追加
それぞれの機能を詳しく見て行きましょう
SSL/TLS メトリクスの追加
SSL/TLS 関連のメトリクスが追加され、より詳細な情報が取得できるようになりました。
具体的には以下の通り、SSL handshake 失敗の原因や証明書検証の失敗原因のメトリクスが追加されています。
R28で取得可能なメトリクス
{
"handshakes": 1,
"session_reuses": 0,
"handshakes_failed": 4,
"no_common_protocol": 0,
"no_common_cipher": 0,
"handshake_timeout": 0,
"peer_rejected_cert": 4,
"verify_failures": {
"no_cert": 0,
"expired_cert": 0,
"revoked_cert": 0,
"hostname_mismatch": 0,
"other": 0
}
}
R27 以前のメトリクス
{
"handshakes": 0,
"handshakes_failed": 0,
"session_reuses": 0
}
また、dashboard から SSL/TLS 情報も確認できるようになりました。
Public Cloud (AWS,Azure,GCP) における Proxy Protocol v2 の TLV 変数追加
各 Public Cloud では「プライベート サービス」を提供しており、外部クライアントからインターネットを経由することなく通信できるようにすることができます。この際、送信元 IP は Public Cloud が提供するサービスの IP アドレスとなり、クライアントのアドレスは Proxy Protocol の カスタム LTV ヘッダーに格納されます。
R28 では、このカスタム LTV ヘッダーから情報を取得できる変数が追加されました。
以下のような設定を行うことで、AWS VPC の ID を、バックエンドサーバへのヘッダーに含めることができるようになります。
upstream backend {
server 127.0.0.1:8081;
}
server {
listen 127.0.0.1:8080 proxy_protocol;
}
location / {
add_header X-AWS-VPC-LINK-ID $proxy_protocol_tlv_aws_vpce_id;
proxy_pass http://backend;
}
}
Sticky cookie における SameSite パラメータの変数追加
Sticky cookie で使用する SameSite の値について、R27 までは、”strict , lax , none” を明示的に指定するだけでしたが、R28 で変数を指定できるようになりました。
そのため、以下のように、ユーザーエージェント毎に SameSite の値を制御できるようになりました。
map $http_user_agent $samesite {
"user-agent-1" "lax";
"user-agent-2" "";
}
upstream backend {
server 127.0.0.1:8081;
sticky cookie sticky secure samesite=$samesite path=/test;
}
NGINX Plus R28 のより詳しい情報については、以下のメーカーサイトにも記載されています。
ぜひ、NGINX Plus R28 へのバージョンアップの参考にしてください。
では、今回はここまでです。