SlideShare a Scribd company logo
NGINX Plus R18:
What’s new
08-May-2019
MORE INFORMATION AT NGINX.COM
Agenda
• Introducing NGINX
• New features in NGINX Plus R18
- Dynamic certificate loading
- Listen port ranges
- OpenID Connect enhancements
- Active health check options
- JavaScript module updates and more
• Summary and Q&A
2
Liam Crilly
Director of Product
Management, NGINX
liam@nginx.com
@liamcrilly
3
“... when I started NGINX,
I focused on a very specific problem –
how to handle more customers per a
single server.”
- Igor Sysoev, NGINX creator and founder
Introducing NGINX
4
2004
• NGINX 0.1
2007
• “Viable”
2011
• NGINX, Inc.
• NGINX 1.0
2013
• NGINX Plus R1
2018
• NGINX Unit 1.0
• Controller 1.0
2019
• Controller 2.0
(API mgmt.)
• NGINX Plus R18
• Acquired by F5 Networks
Source: W3Techs Web server ranking, 07-May-2019
#1“Most websites use NGINX”
The busiest sites choose NGINX
50%
61%
67%
Top 1M Top 100K Top 10K
Source: Netcraft April 2019 Web Server Survey
Office in San Francisco, Cork, Cambridge, Moscow, Singapore , Tokyo,
Sydney
400M websites
1,500+ commercial customers
250+ employees across engineering, support, sales and marketing
NGINX + F5: Complementary Approaches
Open Source-Driven
375M websites powered worldwide
66% of the 10,000 busiest sites
90M downloads per year
Enterprise-Driven
25,000 customers worldwide
49 of the Fortune 50
10 of the world’s top 10 brands
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 algos
+ Cache purging
+ HA/Clustering
+ JWT Authentication
+ OpenID Connect SSO
+ NGINX Plus API
+ Key-value store
+ Dynamic modules
+ 90+ metrics
Previously on…
• TLS 1.3 support
• Two Stage Rate Limiting
• Easier OpenID Connect Configuration *
• 2x faster ModSecurity Performance
• NGINX Ingress Controller for Kubernetes 1.4.0
* NGINX Plus Exclusive feature
9
Watch On Demand: search “r17 webinar” at nginx.com
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Demo
• Summary and Q&A
With end-to-end encryption now
the default deployment pattern
for websites and applications,
organizations are managing an
explosion in SSL certificates.
This calls for a flexible approach
to how we deploy and configure
those SSL certificates.
Source: https://w3techs.com/technologies/history_overview/ssl_certificate/all/y11
66%
72%
77%
88%
35%
29%
23%
12%
2016 2017 2018 2019
SSL/TLS Adoption
HTTPS HTTP
Standard SSL Configuration
server {
listen 443 ssl;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
• Manually specify each certificate and key
to be loaded from disk
• If you have a 1,000+ certificates:
• Need to specify 1,000+ cert/key pairs
• Long load and reload times
• High memory consumption during
reload
• Adding new site means updating config
and reload
SSL Configuration using SNI
server {
listen 443 ssl;
ssl_certificate $ssl_server_name.crt;
ssl_certificate_key $ssl_server_name.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
• $ssl_server_name holds hostname
requested through SNI
• Files will be loaded on demand
• Single configuration for all SSL-enabled
sites
• To create a new site, simply upload the
appropriately named cert/key pair, no
reloads
• Up to 30% performance penalty to load
certificate from disk. Uses OS file cache
to improve performance.
SSL Configuration using Key-Value
Storekeyval_zone zone=ssl_crt:10m;
keyval $ssl_server_name $crt_pem zone=ssl_crt;
keyval_zone zone=ssl_key:10m;
keyval $ssl_server_name $key_pem zone=ssl_key;
server {
listen 443 ssl;
ssl_certificate data:$crt_pem;
ssl_certificate_key data:$key_pem;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
• data: means the following variable
holds the certificate or key in memory.
• $crt_pem and $key_pem are looked
up from the Key-Value Store using
$ssl_server_name
• Key-Value Store can be programmed
through the NGINX Plus API for
automated provisioning
• Ideal for short-lived certificates or
integrations with issuers such as Let’s
Encrypt and Hashicorp Vault.
* NGINX Plus exclusive
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Demo
• Summary and Q&A
NGINX Plus JWT Authentication
Support timeline:
• R10 -- Initial support for native JWT
authentication added
• R12 -- Support for custom fields
• R14 -- Support for nested claims
• R15 -- Support for OpenID Connect SSO.
Link to Okta, OneLogin, PingIdentity, etc.
• R17 -- Support for fetching JWK from URL
• R18 – Support for opaque session tokens,
refresh tokens, and a logout URL for
OpenID Connect
JWT Authentication and OpenID Connect
SSO are exclusive to NGINX Plus
New OpenID Connect Features
• Opaque Session Tokens – Can now authenticate clients with opaque session
tokens in the form of a browser cookie. Opaque tokens contain no personally
identifiable information about the user.
• Refresh Tokens – New support for refresh tokens so that expired ID tokens
are seamlessly refreshed. NGINX Plus stores the refresh token in the
key-value store and associates it with the opaque session token. When the
ID token expires, NGINX Plus sends the refresh token to the authorization
server. If the session is still valid, the authorization server issues a new ID
token.
• Logout URL -- When logged-in users visit the /logout URI, their ID and
refresh tokens are deleted from the key-value store, and they must
reauthenticate when making a future request.
github.com/nginxinc
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Summary and Q&A
Listen Port Ranges and FTP Proxying
server {
listen 21; # FTP control port
listen 40000-45000; # Data port range
proxy_pass <FTP-server>:$server_port;
}
• Previously could only specific a single
port per listen directive
• Multiple ports required multiple listen
directives
• Now can specify a range of ports
• Passive FTP opens up data port
amongst a large range of ports
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Summary and Q&A
Key-Value Definition in Configuration
keyval_zone zone=recents:10m timeout=2m;
keyval $remote_addr $last_uri zone=recents;
server {
listen 80;
location / {
set $last_uri $uri;
proxy_pass http://my_backend;
}
}
• Previously only way to update the Key-
Value Store was with NGINX Plus API
• Now can be updated by using the set
directive
• $last_uri holds key-value entry with
last URI accesses by IP address
• set over writes with last URI. If no
entry present, it creates it
* NGINX Plus exclusive$ curl http://localhost:8080/api/4/http/keyvals/recents
{
"10.19.245.68": "/blog/nginx-plus-r18-released/",
"172.216.80.227": "/products/nginx/",
"10.29.110.168": "/blog/nginx-unit-1-8-0-now-available"
}
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Summary and Q&A
Health check arbitrary variables
js_set $response_is_fast checkHeaderTime;
match circuit_breaker {
status 200;
require $response_is_fast;
}
server {
listen 80;
location / {
proxy_pass http://my_backend;
health_check uri=/ match=circuit_breaker;
}
}
• New require directive requires all
specified variables to be non-zero for
health check to pass
• In this example we combine with
JavaScript module to check response
times
• Responses longer than 100ms are
considered unhealthy
* NGINX Plus exclusive
function checkHeaderTime(r) {
if (r.variables.upstream_header_time > 0.1) {
return(0); // Too slow
}
return(1);
}
New proxy_session_drop Directive
server {
listen 12345;
proxy_pass my_tcp_backend;
health_check;
proxy_session_drop on;
}
• Previously when using NGINX to
reverse proxy TCP/UDP, backend
server’s health status is considered
only for new connections.
• With new proxy_session_drop
directive enabled you can immediately
close the connection when the next
packet is received from, or sent to, the
offline server.
• Also triggered by other dynamic
upstream changes, e.g. resolver
* NGINX Plus exclusive
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Summary and Q&A
JavaScript module updates
export default {maskIp}; // Only expose maskIp()
function maskIp(addr) { // Public (exported) function
return i2ipv4(fnv32a(addr));
}
...
• Previously, all JavaScript code had to
reside in a single file.
• With new import and export JavaScript
modules, code can be organized into
multiple function-specific files.
• New js_path directive sets additional
directories to search
import masker from 'mask_ip_module.js';
function maskRemoteAddress(r) {
return(masker.maskIp(r.remoteAddress));
}
js_include main.js;
js_path /etc/nginx/njs_modules;
js_set $remote_addr_masked maskRemoteAddress;
log_format masked '$remote_addr_masked ...
mask_ip_module.jsmain.jsnginx.conf
Additional features
• Clustering Enhancement – A single zone_sync configuration can now be used for all
instances in a cluster with the help of wildcard support in the listen directive.
(NGINX Plus exclusive)
• New Variable -- $upstream_bytes_sent, contains number of bytes sent to an
upstream server.
• NGINX Ingress Controller for Kubernetes – Can now be installed directly from our new
Helm repository, without having to download Helm chart source files.
• New/Updated Dynamic Modules –
◦ Brotli (New): A general-purpose, lossless data compression algorithm.
◦ OpenTracing (New): Ability to instrument NGINX Plus with OpenTracing-compliant requests for a
range of distributed tracing services, such as Datadog, Jaeger, and Zipkin.
◦ Lua (Updated): A scripting language for NGINX Plus, updated to use LuaJIT 2.1.
29
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Summary and Q&A
Agenda
• Dynamic SSL Certificates
• OpenID Connect Enhancements
• Listen Port Ranges, FTP Proxy Support
• Key-Value Definition in the Configuration
• Greater Flexibility for Active Health Checks
• NGINX JavaScript Module and other updates
• Summary and Q&A
Summary
• SSL certificates can be dynamically loaded using SNI hostname
• SSL certificates can be added dynamically using the NGINX Plus API
• The listen directive now accepts port ranges, enabling FTP proxy
support
• Key-Value pairs can now be set directly in NGINX Plus configuration
• New require directive for health checks can test the value of NGINX
Plus variables to fail/pass servers
• NGINX JavaScript module supports import and export for better code
organization
33
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 Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
NGINX, Inc.
 
From Code to Customer with F5 and NGNX London Nov 19
From Code to Customer with F5 and NGNX London Nov 19From Code to Customer with F5 and NGNX London Nov 19
From Code to Customer with F5 and NGNX London Nov 19
NGINX, Inc.
 
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.
 
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service Mesh
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.
 
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEANGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
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.
 
Migrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADCMigrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADC
NGINX, Inc.
 
Achieve Full API Lifecycle Management Using NGINX Controller
Achieve Full API Lifecycle Management Using NGINX ControllerAchieve Full API Lifecycle Management Using NGINX Controller
Achieve Full API Lifecycle Management Using NGINX Controller
NGINX, Inc.
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEAReplacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
NGINX, Inc.
 
NGINX Basics: Ask Me Anything – EMEA
NGINX Basics: Ask Me Anything – EMEANGINX Basics: Ask Me Anything – EMEA
NGINX Basics: Ask Me Anything – EMEA
NGINX, Inc.
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
NGINX, Inc.
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
NGINX, Inc.
 
Using NGINX and NGINX Plus as a Kubernetes Ingress
Using NGINX and NGINX Plus as a Kubernetes IngressUsing NGINX and NGINX Plus as a Kubernetes Ingress
Using NGINX and NGINX Plus as a Kubernetes Ingress
Kevin Jones
 
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 Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEANGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEA
NGINX, Inc.
 
ModSecurity 3.0 and NGINX: Getting Started - EMEA
ModSecurity 3.0 and NGINX: Getting Started - EMEAModSecurity 3.0 and NGINX: Getting Started - EMEA
ModSecurity 3.0 and NGINX: Getting Started - EMEA
NGINX, Inc.
 
ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)
ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)
ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)
NGINX, Inc.
 
ModSecurity 3.0 and NGINX: Getting Started
ModSecurity 3.0 and NGINX: Getting StartedModSecurity 3.0 and NGINX: Getting Started
ModSecurity 3.0 and NGINX: Getting Started
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 Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
 
From Code to Customer with F5 and NGNX London Nov 19
From Code to Customer with F5 and NGNX London Nov 19From Code to Customer with F5 and NGNX London Nov 19
From Code to Customer with F5 and NGNX London Nov 19
 
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, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service Mesh
 
NGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEANGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEA
 
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEANGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
 
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?
 
Migrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADCMigrating from BIG-IP Deployment to NGINX ADC
Migrating from BIG-IP Deployment to NGINX ADC
 
Achieve Full API Lifecycle Management Using NGINX Controller
Achieve Full API Lifecycle Management Using NGINX ControllerAchieve Full API Lifecycle Management Using NGINX Controller
Achieve Full API Lifecycle Management Using NGINX Controller
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEAReplacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
 
NGINX Basics: Ask Me Anything – EMEA
NGINX Basics: Ask Me Anything – EMEANGINX Basics: Ask Me Anything – EMEA
NGINX Basics: Ask Me Anything – EMEA
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
Using NGINX and NGINX Plus as a Kubernetes Ingress
Using NGINX and NGINX Plus as a Kubernetes IngressUsing NGINX and NGINX Plus as a Kubernetes Ingress
Using NGINX and NGINX Plus as a Kubernetes Ingress
 
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 Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEANGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEA
 
ModSecurity 3.0 and NGINX: Getting Started - EMEA
ModSecurity 3.0 and NGINX: Getting Started - EMEAModSecurity 3.0 and NGINX: Getting Started - EMEA
ModSecurity 3.0 and NGINX: Getting Started - EMEA
 
ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)
ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)
ModSecurity and NGINX: Tuning the OWASP Core Rule Set (Updated)
 
ModSecurity 3.0 and NGINX: Getting Started
ModSecurity 3.0 and NGINX: Getting StartedModSecurity 3.0 and NGINX: Getting Started
ModSecurity 3.0 and NGINX: Getting Started
 

Similar to NGINX Plus R18: What's new

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.
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
NGINX, Inc.
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
NGINX, Inc.
 
3 Ways to Automate App Deployments with NGINX
3 Ways to Automate App Deployments with NGINX3 Ways to Automate App Deployments with NGINX
3 Ways to Automate App Deployments with NGINX
NGINX, Inc.
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
NGINX, Inc.
 
Nginx Deep Dive Kubernetes Ingress
Nginx Deep Dive Kubernetes IngressNginx Deep Dive Kubernetes Ingress
Nginx Deep Dive Kubernetes Ingress
Knoldus Inc.
 
What’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEAWhat’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEA
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.
 
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.
 
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
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
NGINX, Inc.
 
Kubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress ControllerKubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress Controller
Katherine Bagood
 
Citrix Day 2014: NetScaler 10.5
Citrix Day 2014: NetScaler 10.5Citrix Day 2014: NetScaler 10.5
Citrix Day 2014: NetScaler 10.5
Digicomp Academy AG
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
Brian A. McHenry
 
NetScaler 11 Update
NetScaler 11 UpdateNetScaler 11 Update
NetScaler 11 Update
MarketingArrowECS_CZ
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?
NGINX, Inc.
 
NGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPCNGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPC
NGINX, Inc.
 
F5 TMOS v13.0
F5 TMOS v13.0F5 TMOS v13.0
F5 TMOS v13.0
MarketingArrowECS_CZ
 
NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...
NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...
NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...
Dragos Dascalita Haut
 
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.
 

Similar to NGINX Plus R18: What's new (20)

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
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
3 Ways to Automate App Deployments with NGINX
3 Ways to Automate App Deployments with NGINX3 Ways to Automate App Deployments with NGINX
3 Ways to Automate App Deployments with NGINX
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
Nginx Deep Dive Kubernetes Ingress
Nginx Deep Dive Kubernetes IngressNginx Deep Dive Kubernetes Ingress
Nginx Deep Dive Kubernetes Ingress
 
What’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEAWhat’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEA
 
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: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA BroadcastNGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA Broadcast
 
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
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
Kubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress ControllerKubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress Controller
 
Citrix Day 2014: NetScaler 10.5
Citrix Day 2014: NetScaler 10.5Citrix Day 2014: NetScaler 10.5
Citrix Day 2014: NetScaler 10.5
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
 
NetScaler 11 Update
NetScaler 11 UpdateNetScaler 11 Update
NetScaler 11 Update
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?
 
NGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPCNGINX: HTTP/2 Server Push and gRPC
NGINX: HTTP/2 Server Push and gRPC
 
F5 TMOS v13.0
F5 TMOS v13.0F5 TMOS v13.0
F5 TMOS v13.0
 
NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...
NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...
NGINX.conf 2016 - Fail in order to succeed ! Designing Microservices for fail...
 
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
 

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

BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 

Recently uploaded (20)

BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 

NGINX Plus R18: What's new

  • 1. NGINX Plus R18: What’s new 08-May-2019
  • 2. MORE INFORMATION AT NGINX.COM Agenda • Introducing NGINX • New features in NGINX Plus R18 - Dynamic certificate loading - Listen port ranges - OpenID Connect enhancements - Active health check options - JavaScript module updates and more • Summary and Q&A 2 Liam Crilly Director of Product Management, NGINX liam@nginx.com @liamcrilly
  • 3. 3 “... when I started NGINX, I focused on a very specific problem – how to handle more customers per a single server.” - Igor Sysoev, NGINX creator and founder
  • 4. Introducing NGINX 4 2004 • NGINX 0.1 2007 • “Viable” 2011 • NGINX, Inc. • NGINX 1.0 2013 • NGINX Plus R1 2018 • NGINX Unit 1.0 • Controller 1.0 2019 • Controller 2.0 (API mgmt.) • NGINX Plus R18 • Acquired by F5 Networks
  • 5. Source: W3Techs Web server ranking, 07-May-2019 #1“Most websites use NGINX” The busiest sites choose NGINX 50% 61% 67% Top 1M Top 100K Top 10K Source: Netcraft April 2019 Web Server Survey
  • 6. Office in San Francisco, Cork, Cambridge, Moscow, Singapore , Tokyo, Sydney 400M websites 1,500+ commercial customers 250+ employees across engineering, support, sales and marketing
  • 7. NGINX + F5: Complementary Approaches Open Source-Driven 375M websites powered worldwide 66% of the 10,000 busiest sites 90M downloads per year Enterprise-Driven 25,000 customers worldwide 49 of the Fortune 50 10 of the world’s top 10 brands
  • 8. 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 algos + Cache purging + HA/Clustering + JWT Authentication + OpenID Connect SSO + NGINX Plus API + Key-value store + Dynamic modules + 90+ metrics
  • 9. Previously on… • TLS 1.3 support • Two Stage Rate Limiting • Easier OpenID Connect Configuration * • 2x faster ModSecurity Performance • NGINX Ingress Controller for Kubernetes 1.4.0 * NGINX Plus Exclusive feature 9 Watch On Demand: search “r17 webinar” at nginx.com
  • 10. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Demo • Summary and Q&A
  • 11. With end-to-end encryption now the default deployment pattern for websites and applications, organizations are managing an explosion in SSL certificates. This calls for a flexible approach to how we deploy and configure those SSL certificates. Source: https://w3techs.com/technologies/history_overview/ssl_certificate/all/y11 66% 72% 77% 88% 35% 29% 23% 12% 2016 2017 2018 2019 SSL/TLS Adoption HTTPS HTTP
  • 12. Standard SSL Configuration server { listen 443 ssl; ssl_certificate cert.crt; ssl_certificate_key cert.key; location / { root /usr/share/nginx/html; index index.html index.htm; } } • Manually specify each certificate and key to be loaded from disk • If you have a 1,000+ certificates: • Need to specify 1,000+ cert/key pairs • Long load and reload times • High memory consumption during reload • Adding new site means updating config and reload
  • 13. SSL Configuration using SNI server { listen 443 ssl; ssl_certificate $ssl_server_name.crt; ssl_certificate_key $ssl_server_name.key; location / { root /usr/share/nginx/html; index index.html index.htm; } } • $ssl_server_name holds hostname requested through SNI • Files will be loaded on demand • Single configuration for all SSL-enabled sites • To create a new site, simply upload the appropriately named cert/key pair, no reloads • Up to 30% performance penalty to load certificate from disk. Uses OS file cache to improve performance.
  • 14. SSL Configuration using Key-Value Storekeyval_zone zone=ssl_crt:10m; keyval $ssl_server_name $crt_pem zone=ssl_crt; keyval_zone zone=ssl_key:10m; keyval $ssl_server_name $key_pem zone=ssl_key; server { listen 443 ssl; ssl_certificate data:$crt_pem; ssl_certificate_key data:$key_pem; location / { root /usr/share/nginx/html; index index.html index.htm; } } • data: means the following variable holds the certificate or key in memory. • $crt_pem and $key_pem are looked up from the Key-Value Store using $ssl_server_name • Key-Value Store can be programmed through the NGINX Plus API for automated provisioning • Ideal for short-lived certificates or integrations with issuers such as Let’s Encrypt and Hashicorp Vault. * NGINX Plus exclusive
  • 15.
  • 16. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Demo • Summary and Q&A
  • 17. NGINX Plus JWT Authentication Support timeline: • R10 -- Initial support for native JWT authentication added • R12 -- Support for custom fields • R14 -- Support for nested claims • R15 -- Support for OpenID Connect SSO. Link to Okta, OneLogin, PingIdentity, etc. • R17 -- Support for fetching JWK from URL • R18 – Support for opaque session tokens, refresh tokens, and a logout URL for OpenID Connect JWT Authentication and OpenID Connect SSO are exclusive to NGINX Plus
  • 18. New OpenID Connect Features • Opaque Session Tokens – Can now authenticate clients with opaque session tokens in the form of a browser cookie. Opaque tokens contain no personally identifiable information about the user. • Refresh Tokens – New support for refresh tokens so that expired ID tokens are seamlessly refreshed. NGINX Plus stores the refresh token in the key-value store and associates it with the opaque session token. When the ID token expires, NGINX Plus sends the refresh token to the authorization server. If the session is still valid, the authorization server issues a new ID token. • Logout URL -- When logged-in users visit the /logout URI, their ID and refresh tokens are deleted from the key-value store, and they must reauthenticate when making a future request.
  • 20. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Summary and Q&A
  • 21. Listen Port Ranges and FTP Proxying server { listen 21; # FTP control port listen 40000-45000; # Data port range proxy_pass <FTP-server>:$server_port; } • Previously could only specific a single port per listen directive • Multiple ports required multiple listen directives • Now can specify a range of ports • Passive FTP opens up data port amongst a large range of ports
  • 22. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Summary and Q&A
  • 23. Key-Value Definition in Configuration keyval_zone zone=recents:10m timeout=2m; keyval $remote_addr $last_uri zone=recents; server { listen 80; location / { set $last_uri $uri; proxy_pass http://my_backend; } } • Previously only way to update the Key- Value Store was with NGINX Plus API • Now can be updated by using the set directive • $last_uri holds key-value entry with last URI accesses by IP address • set over writes with last URI. If no entry present, it creates it * NGINX Plus exclusive$ curl http://localhost:8080/api/4/http/keyvals/recents { "10.19.245.68": "/blog/nginx-plus-r18-released/", "172.216.80.227": "/products/nginx/", "10.29.110.168": "/blog/nginx-unit-1-8-0-now-available" }
  • 24. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Summary and Q&A
  • 25. Health check arbitrary variables js_set $response_is_fast checkHeaderTime; match circuit_breaker { status 200; require $response_is_fast; } server { listen 80; location / { proxy_pass http://my_backend; health_check uri=/ match=circuit_breaker; } } • New require directive requires all specified variables to be non-zero for health check to pass • In this example we combine with JavaScript module to check response times • Responses longer than 100ms are considered unhealthy * NGINX Plus exclusive function checkHeaderTime(r) { if (r.variables.upstream_header_time > 0.1) { return(0); // Too slow } return(1); }
  • 26. New proxy_session_drop Directive server { listen 12345; proxy_pass my_tcp_backend; health_check; proxy_session_drop on; } • Previously when using NGINX to reverse proxy TCP/UDP, backend server’s health status is considered only for new connections. • With new proxy_session_drop directive enabled you can immediately close the connection when the next packet is received from, or sent to, the offline server. • Also triggered by other dynamic upstream changes, e.g. resolver * NGINX Plus exclusive
  • 27. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Summary and Q&A
  • 28. JavaScript module updates export default {maskIp}; // Only expose maskIp() function maskIp(addr) { // Public (exported) function return i2ipv4(fnv32a(addr)); } ... • Previously, all JavaScript code had to reside in a single file. • With new import and export JavaScript modules, code can be organized into multiple function-specific files. • New js_path directive sets additional directories to search import masker from 'mask_ip_module.js'; function maskRemoteAddress(r) { return(masker.maskIp(r.remoteAddress)); } js_include main.js; js_path /etc/nginx/njs_modules; js_set $remote_addr_masked maskRemoteAddress; log_format masked '$remote_addr_masked ... mask_ip_module.jsmain.jsnginx.conf
  • 29. Additional features • Clustering Enhancement – A single zone_sync configuration can now be used for all instances in a cluster with the help of wildcard support in the listen directive. (NGINX Plus exclusive) • New Variable -- $upstream_bytes_sent, contains number of bytes sent to an upstream server. • NGINX Ingress Controller for Kubernetes – Can now be installed directly from our new Helm repository, without having to download Helm chart source files. • New/Updated Dynamic Modules – ◦ Brotli (New): A general-purpose, lossless data compression algorithm. ◦ OpenTracing (New): Ability to instrument NGINX Plus with OpenTracing-compliant requests for a range of distributed tracing services, such as Datadog, Jaeger, and Zipkin. ◦ Lua (Updated): A scripting language for NGINX Plus, updated to use LuaJIT 2.1. 29
  • 30. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Summary and Q&A
  • 31. Agenda • Dynamic SSL Certificates • OpenID Connect Enhancements • Listen Port Ranges, FTP Proxy Support • Key-Value Definition in the Configuration • Greater Flexibility for Active Health Checks • NGINX JavaScript Module and other updates • Summary and Q&A
  • 32. Summary • SSL certificates can be dynamically loaded using SNI hostname • SSL certificates can be added dynamically using the NGINX Plus API • The listen directive now accepts port ranges, enabling FTP proxy support • Key-Value pairs can now be set directly in NGINX Plus configuration • New require directive for health checks can test the value of NGINX Plus variables to fail/pass servers • NGINX JavaScript module supports import and export for better code organization
  • 33. 33
  • 34. Q & ATry NGINX Plus and NGINX WAF free for 30 days: nginx.com/free-trial- request