SlideShare a Scribd company logo
What’s New in NGINX Plus
R16?
What is NGINX?
Internet
Web Server
Serve content from disk
Reverse Proxy
FastCGI, uWSGI, gRPC…
Load Balancer
Caching, SSL termination…
HTTP traffic
- Basic load balancer
- Content Cache
- Web Server
- Reverse Proxy
- SSL termination
- Rate limiting
- Basic authentication
- 7 metrics
NGINX Open Source NGINX Plus
+ Advanced load balancer
+ Health checks
+ Session persistence
+ Least time alg
+ Cache purging
+ HA/Clustering
+ JWT Authentication
+ OpenID Connect SSO
+ NGINX Plus API
+ Dynamic modules
+ 90+ metrics
Previously on…
• gRPC support
• HTTP/2 Server Push
• NGINX JavaScript sub requests
• Clustering support for Sticky Learn *
• OpenID Connect Authorization Code
Workflow for SSO *
• Watch on demand:
nginx.com/webinars/whats-new-nginx-
plus-r15/
* NGINX Plus Exclusive
3
Agenda
• NGINX Plus R16 overview
• New Features in detail
• Summary
NGINX Plus R16 Overview
Many customers run in NGINX Plus in multi-node
clusters. NGINX Plus R16 adds new clustering
features:
• Global rate limiting – Rate Limiting is now
cluster-aware. Specify global rate limits enforced
by all nodes in cluster.
• Cluster-aware key-value store – Key-value
pairs are synced across the cluster. New timeout
value. New DDoS mitigation use case.
• Random with Two Choices – New algorithm.
Select two backend servers at random, send
request to one with lowest load.
5
NGINX Plus R16 Overview
Additional features in NGINX Plus R16 include:
• Enhanced UDP load balancing – Support for
multiple UDP packets from client as part of same
session. Support for more complex UDP
protocols: OpenVPN, VoIP, VDI, DTLS.
• PROXY Protocol v2– Support for the PROXY
protocol v2 (PPv2) header, ability to inspect
custom type-length-value (TLV) values. AWS
PrivateLink support.
• New dynamic module, NGINX JavaScript
updates, and more
6
Agenda
• NGINX Plus R16 overview
• New Features in detail
• Summary
NGINX Plus Clustering Review
• NGINX Plus R1 (2013) – Support for HA
using keepalived
• NGINX Plus R12 (2017) – Configuration
synchronization
• NGINX Plus R15 (2018) – State sharing
for Sticky Learn session persistence
• NGINX Plus R16 (2018) – State sharing
for Rate Limiting and Key-Value Store
• All HA/clustering features exclusive to
NGINX Plus
8
NGINX Plus State Sharing
stream {
resolver 10.0.0.53 valid=20s;
server {
listen 1.2.3.4:9000;
zone_sync;
zone_sync_server nginx1.example.com:9000 resolve;
}
}
Shared memory zones are identified in NGINX
Plus with the zone keyword (example on next
slide) for data to be shared between processes
on the same server. The new zone_sync
functionality extends this memory to be shared
across different servers.
• zone_sync -- Enables synchronization of
shared memory zones in a cluster.
• zone_sync_server -- Identifies the other
NGINX Plus instances in the cluster. You
create a separate zone_sync_server for
each server in the cluster.
• Add into main nginx.conf for each server in
the cluster
Global Rate Limiting
limit_req_zone $binary_remote_addr zone=global:1M
rate=40r/s sync;
server {
listen 80;
server_name www.example.com;
location / {
limit_req zone=global;
proxy_set_header Host $host;
proxy_pass http://my_server;
}
}
• Rate limiting is to control the amount of
requests sent to backend servers. The limit
can be applied per IP Address, or other parts
of the request.
• Add the sync parameter at the end of rate limit
definition (limit_req_zone)
• The shared memory zone (global) that holds
the current per ip rate are synced across all
nodes in the cluster
• All nodes will collectively enforce the rate limit,
40 requests/second in this example
Cluster-Aware Key-Value Store
keyval_zone zone=blacklist:1M timeout=600 sync;
keyval $remote_addr $target zone=blacklist;
server {
listen 80;
server_name www.example.com;
if ($target) {
return 403;
}
location / {
proxy_set_header Host $host;
proxy_pass http://my_server;
}
location /api {
api write=on;
}
}
• Add the sync parameter at the end of key-value
store definition (keyval_zone)
• The timeout parameter specfies how long key-
value pairs are valid, in seconds. The timeout is
required if syncing the key-value store.
• In this example we are creating a dynamic IP
blacklist. Any IP addresses in the key-value store
are blocked.
• curl -X POST -d '{"192.0.2.26": "1"}'
http://www.example.com/api/3/http/keyval
s/blacklist
• Access to /api should be restricted using IP
access controls (allow, deny)
Check out the videos!
12
https://www.nginx.com/nginxconf/2018/#livestream
Keynote 2: NGINX and NGINX Plus Update and Demo
Random with Two Choices
upstream my_backend {
server server1.example.com;
server server2.example.com;
server server3.example.com;
random two least_time=last_byte;
}
server {
listen 80;
location / {
proxy_set_header Host $host;
proxy_pass http://my_backend;
}
}
• Pick two servers at random, send request to the one with
the quickest response time.
• Suitable for clusters with multiple active NGINX Plus
servers
• Due to workload variance, regular least_time not
always accurate
• Can alternatively use least_conn instead of
least_time
• Can also specify just random for pure random load
balancing
• The least_time parameter and response time metrics
are NGINX Plus exclusive
Enhanced UDP Load Balancing
stream {
server {
listen 1195 udp;
proxy_pass 127.0.0.1:1194;
}
}
• NGINX Plus R9 first introduced UDP load balancing but was
limited to one packet per client. Only simple protocols such
as DNS and RADIUS were supported.
• NGINX Plus R16 UDP load balancing can handle multiple
packets from a client. More complex UDP protocols such as
OpenVPN, VOIP, VDI are now supported.
• UDP load balancing is configured in a stream block by
adding the udp parameter to the listen directive.
• The example to the left is a suitable configuration for
OpenVPN.
PROXY Protocol v2 (PPv2)
server {
listen 80 proxy_protocol;
location /app/ {
proxy_pass http://backend1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP
$proxy_protocol_addr;
proxy_set_header X-Forwarded-For
$proxy_protocol_addr;
}
}
• PROXY Protocol is used to obtain original client
IP/Port when multiple load balancers and proxies are
chained.
• PROXY Protocol v2 moves from text to binary
header
• Add proxy_protocol as parameter to listen
• $proxy_protocol_addr, $proxy_protocol_port
are populated with original client IP/Port
• Supported for HTTP and Stream
• Can also add PROXY Protocol header using
proxy_protocol directive. (Stream only)
stream {
server {
listen 12345;
proxy_pass example.com:12345;
proxy_protocol on;
}
}
AWS PrivateLink Support
server {
listen 80 proxy_protocol;
location /app/ {
proxy_pass http://backend1;
proxy_set_header Host $host;
proxy_set_header X-Cluster-VPC
$proxy_protocol_tlv_0xEA;
}
}
• AWS PrivateLink is for secure VPC to VPC
communication without going over public internet
or using VPNs.
• The Provider VPC (server-side) has an NLB that
adds PROXY Protocol header with custom field
that holds client VPC Endpoint ID.
• NGINX Plus reads this value into variable named
$proxy_protocol_tlv_0xEA
• Variable can be passed to application server,
logged, used as rate limiting key, etc.
• Exclusive to NGINX Plus
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$proxy_protocol_tlv_0xEA"';
17
• OpenID opaque session tokens -- Actual JWT not sent to client, random
string instead.
• Support for SSL/clear traffic on same port – New variable
$ssl_preread_protocol allows you to distinguish between the two.
• New Encrypted Session Dynamic Module -- Provides encryption and
decryption support for NGINX variables based on AES-256 with MAC
• NGINX JavaScript enhancements -- Simplified request/response
handling, new support for: bytesFrom(), padStart(), padEnd(),
getrandom(), getentropy(), and binary literals
Miscellaneous New Features
Changes in Behavior
• upstream_conf and extended status APIs now removed, replaced by
NGINX Plus API. See transition guide on our blog:
• nginx.com/blog/transitioning-to-nginx-plus-api-configuration-monitoring
• NGINX Plus is no longer supported on Ubuntu 17.10 (Artful), FreeBSD
10.3, or FreeBSD 11.0.
• Ubuntu 14.04, 16.04, and 18.04
• FreeBSD 10.4+, 11.1+
• New Relic plugin open sourced and available on GitHub, but no longer
supported
• github.com/nginxinc/new-relic-agent
Agenda
• NGINX Plus R16 overview
• New Features in detail
• Summary
Summary
• NGINX Plus R16 has new clustering features for active/active
deployments
• Rate limiting is cluster-aware, enabling you to configure global rate limits
• Key-value store is cluster-aware, key-value pairs are synced to all
cluster nodes
• New Random with Two Choices algorithm recommended for all
clustered deployments with variable workloads
• Enhanced UDP Load Balancing support multiple packets from a client
and more complex protocols such as OpenVPN
• Proxy Protocol v2 (PPv2) is now supported, along with AWS PrivateLink
Download our Free Ebook
21
• How NGINX fits as a complement or replacement
for existing API gateway and API management
approaches
• How to take an existing NGINX Open Source or
NGINX Plus configuration and extend it to also
manage API traffic
• How to create a range of safeguards that can be
applied to protect and secure backend API
services in production
• How to deploy NGINX Plus as an API gateway for
gRPC services
Download now: nginx.com/resources/library/
nginx-api-gateway-deployment/
Q & ATry NGINX Plus and NGINX WAF free for 30 days: nginx.com/free-trial-request

More Related Content

What's hot

What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
NGINX, Inc.
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEA
NGINX, Inc.
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
NGINX, Inc.
 
What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?
NGINX, Inc.
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
NGINX, Inc.
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
Kevin Jones
 
Maximizing PHP Performance with NGINX
Maximizing PHP Performance with NGINXMaximizing PHP Performance with NGINX
Maximizing PHP Performance with NGINX
NGINX, Inc.
 
NGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEANGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEA
NGINX, Inc.
 
NGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEANGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEA
NGINX, Inc.
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
NGINX, Inc.
 
NGINX: HTTP/2 Server Push and gRPC – EMEA
NGINX: HTTP/2 Server Push and gRPC – EMEANGINX: HTTP/2 Server Push and gRPC – EMEA
NGINX: HTTP/2 Server Push and gRPC – EMEA
NGINX, Inc.
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX PlusReplacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX Plus
NGINX, Inc.
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
NGINX, Inc.
 
What's new in NGINX Plus R9
What's new in NGINX Plus R9What's new in NGINX Plus R9
What's new in NGINX Plus R9
NGINX, Inc.
 
Lcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINXLcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINX
Linaro
 
NGINX Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
NGINX, Inc.
 
What's new in NGINX Plus R19
What's new in NGINX Plus R19What's new in NGINX Plus R19
What's new in NGINX Plus R19
NGINX, Inc.
 
Introduction to NGINX web server
Introduction to NGINX web serverIntroduction to NGINX web server
Introduction to NGINX web server
Md Waresul Islam
 
Analyzing NGINX Logs with Datadog
Analyzing NGINX Logs with DatadogAnalyzing NGINX Logs with Datadog
Analyzing NGINX Logs with Datadog
NGINX, Inc.
 
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
NGINX, Inc.
 

What's hot (20)

What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEA
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?What’s New in NGINX Plus R15?
What’s New in NGINX Plus R15?
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
 
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINXDockerCon Live 2020 - Securing Your Containerized Application with NGINX
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
 
Maximizing PHP Performance with NGINX
Maximizing PHP Performance with NGINXMaximizing PHP Performance with NGINX
Maximizing PHP Performance with NGINX
 
NGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEANGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEA
 
NGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEANGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEA
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
NGINX: HTTP/2 Server Push and gRPC – EMEA
NGINX: HTTP/2 Server Push and gRPC – EMEANGINX: HTTP/2 Server Push and gRPC – EMEA
NGINX: HTTP/2 Server Push and gRPC – EMEA
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX PlusReplacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX Plus
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
What's new in NGINX Plus R9
What's new in NGINX Plus R9What's new in NGINX Plus R9
What's new in NGINX Plus R9
 
Lcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINXLcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINX
 
NGINX Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
 
What's new in NGINX Plus R19
What's new in NGINX Plus R19What's new in NGINX Plus R19
What's new in NGINX Plus R19
 
Introduction to NGINX web server
Introduction to NGINX web serverIntroduction to NGINX web server
Introduction to NGINX web server
 
Analyzing NGINX Logs with Datadog
Analyzing NGINX Logs with DatadogAnalyzing NGINX Logs with Datadog
Analyzing NGINX Logs with Datadog
 
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
 

Similar to What’s New in NGINX Plus R16? – EMEA

What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
NGINX, Inc.
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
Ortus Solutions, Corp
 
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA BroadcastNGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX, Inc.
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
NGINX, Inc.
 
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEATLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
NGINX, Inc.
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
NGINX, Inc.
 
NGINX 101 - now with more Docker
NGINX 101 - now with more DockerNGINX 101 - now with more Docker
NGINX 101 - now with more Docker
Sarah Novotny
 
NGINX 101 - now with more Docker
NGINX 101 - now with more DockerNGINX 101 - now with more Docker
NGINX 101 - now with more Docker
sarahnovotny
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEA
NGINX, Inc.
 
App Deployment on Cloud
App Deployment on CloudApp Deployment on Cloud
App Deployment on Cloud
Ajey Pratap Singh
 
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open SourceTLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
NGINX, Inc.
 
What's New in NGINX Plus R8
What's New in NGINX Plus R8What's New in NGINX Plus R8
What's New in NGINX Plus R8
NGINX, Inc.
 
What's New in NGINX Plus R10?
What's New in NGINX Plus R10?What's New in NGINX Plus R10?
What's New in NGINX Plus R10?
NGINX, Inc.
 
5 things you didn't know nginx could do velocity
5 things you didn't know nginx could do   velocity5 things you didn't know nginx could do   velocity
5 things you didn't know nginx could do velocity
sarahnovotny
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
Kevin Jones
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
NGINX, Inc.
 
NGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX Plus R18: What's new
NGINX Plus R18: What's new
NGINX, Inc.
 
Load Balancing Applications with NGINX in a CoreOS Cluster
Load Balancing Applications with NGINX in a CoreOS ClusterLoad Balancing Applications with NGINX in a CoreOS Cluster
Load Balancing Applications with NGINX in a CoreOS Cluster
Kevin Jones
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
sarahnovotny
 
Drupal 8 and NGINX
Drupal 8 and NGINX Drupal 8 and NGINX
Drupal 8 and NGINX
NGINX, Inc.
 

Similar to What’s New in NGINX Plus R16? – EMEA (20)

What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
 
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA BroadcastNGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA Broadcast
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEATLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
NGINX 101 - now with more Docker
NGINX 101 - now with more DockerNGINX 101 - now with more Docker
NGINX 101 - now with more Docker
 
NGINX 101 - now with more Docker
NGINX 101 - now with more DockerNGINX 101 - now with more Docker
NGINX 101 - now with more Docker
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEA
 
App Deployment on Cloud
App Deployment on CloudApp Deployment on Cloud
App Deployment on Cloud
 
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open SourceTLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
 
What's New in NGINX Plus R8
What's New in NGINX Plus R8What's New in NGINX Plus R8
What's New in NGINX Plus R8
 
What's New in NGINX Plus R10?
What's New in NGINX Plus R10?What's New in NGINX Plus R10?
What's New in NGINX Plus R10?
 
5 things you didn't know nginx could do velocity
5 things you didn't know nginx could do   velocity5 things you didn't know nginx could do   velocity
5 things you didn't know nginx could do velocity
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
NGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX Plus R18: What's new
NGINX Plus R18: What's new
 
Load Balancing Applications with NGINX in a CoreOS Cluster
Load Balancing Applications with NGINX in a CoreOS ClusterLoad Balancing Applications with NGINX in a CoreOS Cluster
Load Balancing Applications with NGINX in a CoreOS Cluster
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
 
Drupal 8 and NGINX
Drupal 8 and NGINX Drupal 8 and NGINX
Drupal 8 and NGINX
 

More from NGINX, Inc.

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
NGINX, Inc.
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
NGINX, Inc.
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
NGINX, Inc.
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
NGINX, Inc.
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
NGINX, Inc.
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
NGINX, Inc.
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
NGINX, Inc.
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
NGINX, Inc.
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
NGINX, Inc.
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX, Inc.
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
NGINX, Inc.
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINX, Inc.
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
NGINX, Inc.
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
NGINX, Inc.
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
NGINX, Inc.
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
NGINX, Inc.
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
NGINX, Inc.
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
NGINX, Inc.
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
NGINX, Inc.
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
NGINX, Inc.
 

More from NGINX, Inc. (20)

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
 

Recently uploaded

快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
9u4xjk4w
 
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdfUR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
urbhattiacademy
 
一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理
一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理
一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理
wozek1
 
ChatGPT 4o for social media step by step Guide.pdf
ChatGPT 4o for social media step by step Guide.pdfChatGPT 4o for social media step by step Guide.pdf
ChatGPT 4o for social media step by step Guide.pdf
almutabbil
 
CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...
CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...
CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...
AJHSSR Journal
 
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
anubug
 
SOCIAL MEDIA MARKETING agency and service
SOCIAL MEDIA MARKETING agency and serviceSOCIAL MEDIA MARKETING agency and service
SOCIAL MEDIA MARKETING agency and service
viralbusinessmarketi
 
一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理
一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理
一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理
exqfuhe
 
Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........
SocioCosmos
 
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
7lkkjxt
 
On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...
On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...
On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...
AJHSSR Journal
 
Using Playlists to Increase YouTube Watch Time
Using Playlists to Increase YouTube Watch TimeUsing Playlists to Increase YouTube Watch Time
Using Playlists to Increase YouTube Watch Time
SocioCosmos
 
Top Google Tools for SEO: Enhance Your Website's Performance
Top Google Tools for SEO: Enhance Your Website's PerformanceTop Google Tools for SEO: Enhance Your Website's Performance
Top Google Tools for SEO: Enhance Your Website's Performance
Elysian Digital Services Pvt. Ltd.
 

Recently uploaded (13)

快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
快速办理(worcester毕业证书)伍斯特大学毕业证PDF成绩单一模一样
 
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdfUR BHATTI ACADEMY AND ONLINE COURSES.pdf
UR BHATTI ACADEMY AND ONLINE COURSES.pdf
 
一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理
一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理
一比一原版(UCSD毕业证)加利福尼亚大学圣迭戈分校毕业证如何办理
 
ChatGPT 4o for social media step by step Guide.pdf
ChatGPT 4o for social media step by step Guide.pdfChatGPT 4o for social media step by step Guide.pdf
ChatGPT 4o for social media step by step Guide.pdf
 
CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...
CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...
CYBER SECURITY ENHANCEMENT IN NIGERIA. A CASE STUDY OF SIX STATES IN THE NORT...
 
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
一比一原版(AU毕业证)英国阿伯丁大学毕业证如何办理
 
SOCIAL MEDIA MARKETING agency and service
SOCIAL MEDIA MARKETING agency and serviceSOCIAL MEDIA MARKETING agency and service
SOCIAL MEDIA MARKETING agency and service
 
一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理
一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理
一比一原版(CSULB毕业证)加州州立大学长滩分校毕业证如何办理
 
Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........Maximize Your Twitch Potential!..........
Maximize Your Twitch Potential!..........
 
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
原版制作(Hull毕业证书)赫尔大学毕业证Offer一模一样
 
On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...
On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...
On Storytelling & Magic Realism in Rushdie’s Midnight’s Children, Shame, and ...
 
Using Playlists to Increase YouTube Watch Time
Using Playlists to Increase YouTube Watch TimeUsing Playlists to Increase YouTube Watch Time
Using Playlists to Increase YouTube Watch Time
 
Top Google Tools for SEO: Enhance Your Website's Performance
Top Google Tools for SEO: Enhance Your Website's PerformanceTop Google Tools for SEO: Enhance Your Website's Performance
Top Google Tools for SEO: Enhance Your Website's Performance
 

What’s New in NGINX Plus R16? – EMEA

  • 1. What’s New in NGINX Plus R16?
  • 2. What is NGINX? Internet Web Server Serve content from disk Reverse Proxy FastCGI, uWSGI, gRPC… Load Balancer Caching, SSL termination… HTTP traffic - Basic load balancer - Content Cache - Web Server - Reverse Proxy - SSL termination - Rate limiting - Basic authentication - 7 metrics NGINX Open Source NGINX Plus + Advanced load balancer + Health checks + Session persistence + Least time alg + Cache purging + HA/Clustering + JWT Authentication + OpenID Connect SSO + NGINX Plus API + Dynamic modules + 90+ metrics
  • 3. Previously on… • gRPC support • HTTP/2 Server Push • NGINX JavaScript sub requests • Clustering support for Sticky Learn * • OpenID Connect Authorization Code Workflow for SSO * • Watch on demand: nginx.com/webinars/whats-new-nginx- plus-r15/ * NGINX Plus Exclusive 3
  • 4. Agenda • NGINX Plus R16 overview • New Features in detail • Summary
  • 5. NGINX Plus R16 Overview Many customers run in NGINX Plus in multi-node clusters. NGINX Plus R16 adds new clustering features: • Global rate limiting – Rate Limiting is now cluster-aware. Specify global rate limits enforced by all nodes in cluster. • Cluster-aware key-value store – Key-value pairs are synced across the cluster. New timeout value. New DDoS mitigation use case. • Random with Two Choices – New algorithm. Select two backend servers at random, send request to one with lowest load. 5
  • 6. NGINX Plus R16 Overview Additional features in NGINX Plus R16 include: • Enhanced UDP load balancing – Support for multiple UDP packets from client as part of same session. Support for more complex UDP protocols: OpenVPN, VoIP, VDI, DTLS. • PROXY Protocol v2– Support for the PROXY protocol v2 (PPv2) header, ability to inspect custom type-length-value (TLV) values. AWS PrivateLink support. • New dynamic module, NGINX JavaScript updates, and more 6
  • 7. Agenda • NGINX Plus R16 overview • New Features in detail • Summary
  • 8. NGINX Plus Clustering Review • NGINX Plus R1 (2013) – Support for HA using keepalived • NGINX Plus R12 (2017) – Configuration synchronization • NGINX Plus R15 (2018) – State sharing for Sticky Learn session persistence • NGINX Plus R16 (2018) – State sharing for Rate Limiting and Key-Value Store • All HA/clustering features exclusive to NGINX Plus 8
  • 9. NGINX Plus State Sharing stream { resolver 10.0.0.53 valid=20s; server { listen 1.2.3.4:9000; zone_sync; zone_sync_server nginx1.example.com:9000 resolve; } } Shared memory zones are identified in NGINX Plus with the zone keyword (example on next slide) for data to be shared between processes on the same server. The new zone_sync functionality extends this memory to be shared across different servers. • zone_sync -- Enables synchronization of shared memory zones in a cluster. • zone_sync_server -- Identifies the other NGINX Plus instances in the cluster. You create a separate zone_sync_server for each server in the cluster. • Add into main nginx.conf for each server in the cluster
  • 10. Global Rate Limiting limit_req_zone $binary_remote_addr zone=global:1M rate=40r/s sync; server { listen 80; server_name www.example.com; location / { limit_req zone=global; proxy_set_header Host $host; proxy_pass http://my_server; } } • Rate limiting is to control the amount of requests sent to backend servers. The limit can be applied per IP Address, or other parts of the request. • Add the sync parameter at the end of rate limit definition (limit_req_zone) • The shared memory zone (global) that holds the current per ip rate are synced across all nodes in the cluster • All nodes will collectively enforce the rate limit, 40 requests/second in this example
  • 11. Cluster-Aware Key-Value Store keyval_zone zone=blacklist:1M timeout=600 sync; keyval $remote_addr $target zone=blacklist; server { listen 80; server_name www.example.com; if ($target) { return 403; } location / { proxy_set_header Host $host; proxy_pass http://my_server; } location /api { api write=on; } } • Add the sync parameter at the end of key-value store definition (keyval_zone) • The timeout parameter specfies how long key- value pairs are valid, in seconds. The timeout is required if syncing the key-value store. • In this example we are creating a dynamic IP blacklist. Any IP addresses in the key-value store are blocked. • curl -X POST -d '{"192.0.2.26": "1"}' http://www.example.com/api/3/http/keyval s/blacklist • Access to /api should be restricted using IP access controls (allow, deny)
  • 12. Check out the videos! 12 https://www.nginx.com/nginxconf/2018/#livestream Keynote 2: NGINX and NGINX Plus Update and Demo
  • 13. Random with Two Choices upstream my_backend { server server1.example.com; server server2.example.com; server server3.example.com; random two least_time=last_byte; } server { listen 80; location / { proxy_set_header Host $host; proxy_pass http://my_backend; } } • Pick two servers at random, send request to the one with the quickest response time. • Suitable for clusters with multiple active NGINX Plus servers • Due to workload variance, regular least_time not always accurate • Can alternatively use least_conn instead of least_time • Can also specify just random for pure random load balancing • The least_time parameter and response time metrics are NGINX Plus exclusive
  • 14. Enhanced UDP Load Balancing stream { server { listen 1195 udp; proxy_pass 127.0.0.1:1194; } } • NGINX Plus R9 first introduced UDP load balancing but was limited to one packet per client. Only simple protocols such as DNS and RADIUS were supported. • NGINX Plus R16 UDP load balancing can handle multiple packets from a client. More complex UDP protocols such as OpenVPN, VOIP, VDI are now supported. • UDP load balancing is configured in a stream block by adding the udp parameter to the listen directive. • The example to the left is a suitable configuration for OpenVPN.
  • 15. PROXY Protocol v2 (PPv2) server { listen 80 proxy_protocol; location /app/ { proxy_pass http://backend1; proxy_set_header Host $host; proxy_set_header X-Real-IP $proxy_protocol_addr; proxy_set_header X-Forwarded-For $proxy_protocol_addr; } } • PROXY Protocol is used to obtain original client IP/Port when multiple load balancers and proxies are chained. • PROXY Protocol v2 moves from text to binary header • Add proxy_protocol as parameter to listen • $proxy_protocol_addr, $proxy_protocol_port are populated with original client IP/Port • Supported for HTTP and Stream • Can also add PROXY Protocol header using proxy_protocol directive. (Stream only) stream { server { listen 12345; proxy_pass example.com:12345; proxy_protocol on; } }
  • 16. AWS PrivateLink Support server { listen 80 proxy_protocol; location /app/ { proxy_pass http://backend1; proxy_set_header Host $host; proxy_set_header X-Cluster-VPC $proxy_protocol_tlv_0xEA; } } • AWS PrivateLink is for secure VPC to VPC communication without going over public internet or using VPNs. • The Provider VPC (server-side) has an NLB that adds PROXY Protocol header with custom field that holds client VPC Endpoint ID. • NGINX Plus reads this value into variable named $proxy_protocol_tlv_0xEA • Variable can be passed to application server, logged, used as rate limiting key, etc. • Exclusive to NGINX Plus log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$proxy_protocol_tlv_0xEA"';
  • 17. 17 • OpenID opaque session tokens -- Actual JWT not sent to client, random string instead. • Support for SSL/clear traffic on same port – New variable $ssl_preread_protocol allows you to distinguish between the two. • New Encrypted Session Dynamic Module -- Provides encryption and decryption support for NGINX variables based on AES-256 with MAC • NGINX JavaScript enhancements -- Simplified request/response handling, new support for: bytesFrom(), padStart(), padEnd(), getrandom(), getentropy(), and binary literals Miscellaneous New Features
  • 18. Changes in Behavior • upstream_conf and extended status APIs now removed, replaced by NGINX Plus API. See transition guide on our blog: • nginx.com/blog/transitioning-to-nginx-plus-api-configuration-monitoring • NGINX Plus is no longer supported on Ubuntu 17.10 (Artful), FreeBSD 10.3, or FreeBSD 11.0. • Ubuntu 14.04, 16.04, and 18.04 • FreeBSD 10.4+, 11.1+ • New Relic plugin open sourced and available on GitHub, but no longer supported • github.com/nginxinc/new-relic-agent
  • 19. Agenda • NGINX Plus R16 overview • New Features in detail • Summary
  • 20. Summary • NGINX Plus R16 has new clustering features for active/active deployments • Rate limiting is cluster-aware, enabling you to configure global rate limits • Key-value store is cluster-aware, key-value pairs are synced to all cluster nodes • New Random with Two Choices algorithm recommended for all clustered deployments with variable workloads • Enhanced UDP Load Balancing support multiple packets from a client and more complex protocols such as OpenVPN • Proxy Protocol v2 (PPv2) is now supported, along with AWS PrivateLink
  • 21. Download our Free Ebook 21 • How NGINX fits as a complement or replacement for existing API gateway and API management approaches • How to take an existing NGINX Open Source or NGINX Plus configuration and extend it to also manage API traffic • How to create a range of safeguards that can be applied to protect and secure backend API services in production • How to deploy NGINX Plus as an API gateway for gRPC services Download now: nginx.com/resources/library/ nginx-api-gateway-deployment/
  • 22. Q & ATry NGINX Plus and NGINX WAF free for 30 days: nginx.com/free-trial-request