| Skip to content | https://github.com/trimstray/nginx-admins-handbook#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftrimstray%2Fnginx-admins-handbook |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftrimstray%2Fnginx-admins-handbook |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=trimstray%2Fnginx-admins-handbook |
| Reload | https://github.com/trimstray/nginx-admins-handbook |
| Reload | https://github.com/trimstray/nginx-admins-handbook |
| Reload | https://github.com/trimstray/nginx-admins-handbook |
| trimstray | https://github.com/trimstray |
| nginx-admins-handbook | https://github.com/trimstray/nginx-admins-handbook |
| Code | https://github.com/trimstray/nginx-admins-handbook |
| Issues3 (3) | https://github.com/trimstray/nginx-admins-handbook/issues |
| Pull requests2 (2) | https://github.com/trimstray/nginx-admins-handbook/pulls |
| Actions | https://github.com/trimstray/nginx-admins-handbook/actions |
| Security and quality | https://github.com/trimstray/nginx-admins-handbook/security |
| Insights | https://github.com/trimstray/nginx-admins-handbook/pulse |
| https://github.com/trimstray/nginx-admins-handbook |
| nginx-admins-handbook | https://github.com/trimstray/nginx-admins-handbook |
| Notifications | https://github.com/login?return_to=%2Ftrimstray%2Fnginx-admins-handbook |
| Fork1.1k (1.1k) | https://github.com/login?return_to=%2Ftrimstray%2Fnginx-admins-handbook |
| Star14.3k (14.3k) | https://github.com/login?return_to=%2Ftrimstray%2Fnginx-admins-handbook |
| best-practices | https://github.com/topics/best-practices |
| cheatsheet | https://github.com/topics/cheatsheet |
| hacks | https://github.com/topics/hacks |
| handbook | https://github.com/topics/handbook |
| http | https://github.com/topics/http |
| https | https://github.com/topics/https |
| nginx | https://github.com/topics/nginx |
| nginx-configuration | https://github.com/topics/nginx-configuration |
| nginx-proxy | https://github.com/topics/nginx-proxy |
| notes | https://github.com/topics/notes |
| openresty | https://github.com/topics/openresty |
| performance | https://github.com/topics/performance |
| reference | https://github.com/topics/reference |
| security | https://github.com/topics/security |
| snippets | https://github.com/topics/snippets |
| ssllabs | https://github.com/topics/ssllabs |
| tengine | https://github.com/topics/tengine |
| Readme | https://github.com/trimstray/nginx-admins-handbook#readme-ov-file |
| MIT license | https://github.com/trimstray/nginx-admins-handbook#MIT-1-ov-file |
| Code of conduct | https://github.com/trimstray/nginx-admins-handbook#coc-ov-file |
| Contributing | https://github.com/trimstray/nginx-admins-handbook#contributing-ov-file |
| Activity | https://github.com/trimstray/nginx-admins-handbook/activity |
| 1.1k forks | https://github.com/trimstray/nginx-admins-handbook/forks |
| Report repository | https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ftrimstray%2Fnginx-admins-handbook&report=trimstray+%28user%29 |
| Branches | https://github.com/trimstray/nginx-admins-handbook/branches |
| Tags | https://github.com/trimstray/nginx-admins-handbook/tags |
| https://github.com/trimstray/nginx-admins-handbook/branches |
| https://github.com/trimstray/nginx-admins-handbook/tags |
| 1,338 Commits | https://github.com/trimstray/nginx-admins-handbook/commits/master/ |
| https://github.com/trimstray/nginx-admins-handbook/commits/master/ |
| .github | https://github.com/trimstray/nginx-admins-handbook/tree/master/.github |
| .github | https://github.com/trimstray/nginx-admins-handbook/tree/master/.github |
| doc | https://github.com/trimstray/nginx-admins-handbook/tree/master/doc |
| doc | https://github.com/trimstray/nginx-admins-handbook/tree/master/doc |
| lib | https://github.com/trimstray/nginx-admins-handbook/tree/master/lib |
| lib | https://github.com/trimstray/nginx-admins-handbook/tree/master/lib |
| static/img | https://github.com/trimstray/nginx-admins-handbook/tree/master/static/img |
| static/img | https://github.com/trimstray/nginx-admins-handbook/tree/master/static/img |
| LICENSE.md | https://github.com/trimstray/nginx-admins-handbook/blob/master/LICENSE.md |
| LICENSE.md | https://github.com/trimstray/nginx-admins-handbook/blob/master/LICENSE.md |
| README.md | https://github.com/trimstray/nginx-admins-handbook/blob/master/README.md |
| README.md | https://github.com/trimstray/nginx-admins-handbook/blob/master/README.md |
| README | https://github.com/trimstray/nginx-admins-handbook |
| Code of conduct | https://github.com/trimstray/nginx-admins-handbook |
| Contributing | https://github.com/trimstray/nginx-admins-handbook |
| MIT license | https://github.com/trimstray/nginx-admins-handbook |
| https://github.com/trimstray/nginx-admins-handbook#nginx-admins-handbook |
|
| https://www.hostingadvice.com/how-to/nginx-vs-apache/ |
| The Three Little Pigs: Who's Afraid of the Big Bad Wolf? | https://g.co/kgs/HCcQVz |
|
| https://github.com/trimstray/nginx-admins-handbook/pulls |
|
| https://github.com/trimstray/nginx-admins-handbook/blob/master/LICENSE.md |
| https://github.com/trimstray/nginx-admins-handbook#table-of-contents |
| Introduction | https://github.com/trimstray/nginx-admins-handbook#introduction |
| Prologue | https://github.com/trimstray/nginx-admins-handbook#prologue |
| Why I created this handbook | https://github.com/trimstray/nginx-admins-handbook#why-i-created-this-handbook |
| Who this handbook is for | https://github.com/trimstray/nginx-admins-handbook#who-this-handbook-is-for |
| Before you start | https://github.com/trimstray/nginx-admins-handbook#before-you-start |
| Contributing & Support | https://github.com/trimstray/nginx-admins-handbook#contributing--support |
| RSS Feed & Updates | https://github.com/trimstray/nginx-admins-handbook#rss-feed--updates |
| Checklist to rule them all | https://github.com/trimstray/nginx-admins-handbook#checklist-to-rule-them-all |
| Bonus Stuff | https://github.com/trimstray/nginx-admins-handbook#bonus-stuff |
| Configuration reports | https://github.com/trimstray/nginx-admins-handbook#configuration-reports |
| SSL Labs | https://github.com/trimstray/nginx-admins-handbook#ssl-labs |
| Mozilla Observatory | https://github.com/trimstray/nginx-admins-handbook#mozilla-observatory |
| Printable hardening cheatsheets | https://github.com/trimstray/nginx-admins-handbook#printable-hardening-cheatsheets |
| Fully automatic installation | https://github.com/trimstray/nginx-admins-handbook#fully-automatic-installation |
| Static error pages generator | https://github.com/trimstray/nginx-admins-handbook#static-error-pages-generator |
| Server names parser | https://github.com/trimstray/nginx-admins-handbook#server-names-parser |
| Books | https://github.com/trimstray/nginx-admins-handbook#books |
| Nginx Essentials | https://github.com/trimstray/nginx-admins-handbook#nginx-essentials |
| Nginx Cookbook | https://github.com/trimstray/nginx-admins-handbook#nginx-cookbook |
| Nginx HTTP Server | https://github.com/trimstray/nginx-admins-handbook#nginx-http-server |
| Nginx High Performance | https://github.com/trimstray/nginx-admins-handbook#nginx-high-performance |
| Mastering Nginx | https://github.com/trimstray/nginx-admins-handbook#mastering-nginx |
| ModSecurity 3.0 and NGINX: Quick Start Guide | https://github.com/trimstray/nginx-admins-handbook#modsecurity-30-and-nginx-quick-start-guide |
| Cisco ACE to NGINX: Migration Guide | https://github.com/trimstray/nginx-admins-handbook#cisco-ace-to-nginx-migration-guide |
| External Resources | https://github.com/trimstray/nginx-admins-handbook#external-resources |
| Nginx official | https://github.com/trimstray/nginx-admins-handbook#nginx-official |
| Nginx distributions | https://github.com/trimstray/nginx-admins-handbook#nginx-distributions |
| Comparison reviews | https://github.com/trimstray/nginx-admins-handbook#comparison-reviews |
| Cheatsheets & References | https://github.com/trimstray/nginx-admins-handbook#cheatsheets--references |
| Performance & Hardening | https://github.com/trimstray/nginx-admins-handbook#performance--hardening |
| Presentations & Videos | https://github.com/trimstray/nginx-admins-handbook#presentations--videos |
| Playgrounds | https://github.com/trimstray/nginx-admins-handbook#playgrounds |
| Config generators | https://github.com/trimstray/nginx-admins-handbook#config-generators |
| Config parsers | https://github.com/trimstray/nginx-admins-handbook#config-parsers |
| Config managers | https://github.com/trimstray/nginx-admins-handbook#config-managers |
| Static analyzers | https://github.com/trimstray/nginx-admins-handbook#static-analyzers |
| Log analyzers | https://github.com/trimstray/nginx-admins-handbook#log-analyzers |
| Performance analyzers | https://github.com/trimstray/nginx-admins-handbook#performance-analyzers |
| Builder tools | https://github.com/trimstray/nginx-admins-handbook#builder-tools |
| Benchmarking tools | https://github.com/trimstray/nginx-admins-handbook#benchmarking-tools |
| Debugging tools | https://github.com/trimstray/nginx-admins-handbook#debugging-tools |
| Security & Web testing tools | https://github.com/trimstray/nginx-admins-handbook#security--web-testing-tools |
| Development | https://github.com/trimstray/nginx-admins-handbook#development |
| Online & Web tools | https://github.com/trimstray/nginx-admins-handbook#online--web-tools |
| Other stuff | https://github.com/trimstray/nginx-admins-handbook#other-stuff |
| What's next? | https://github.com/trimstray/nginx-admins-handbook#whats-next |
| HTTP Basics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-basics |
| Introduction | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#introduction-1 |
| Features and architecture | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#features-and-architecture |
| HTTP/2 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http2 |
| How to debug HTTP/2? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#how-to-debug-http2 |
| HTTP/3 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http3 |
| URI vs URL | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#uri-vs-url |
| Connection vs request | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#connection-vs-request |
| HTTP Headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-headers |
| Header compression | https://github.com/trimstray/nginx-admins-handbook#header-compression |
| HTTP Methods | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-methods |
| Request | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#request |
| Request line | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#request-line |
| Methods | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#methods |
| Request URI | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#request-uri |
| HTTP version | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-version |
| Request header fields | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#request-header-fields |
| Message body | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#message-body |
| Generate requests | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#generate-requests |
| Response | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#response |
| Status line | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#status-line |
| HTTP version | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-version-1 |
| Status codes and reason phrase | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#status-codes-and-reason-phrase |
| Response header fields | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#response-header-fields |
| Message body | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#message-body-1 |
| HTTP client | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-client |
| IP address shortcuts | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#ip-address-shortcuts |
| Back-End web architecture | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#back-end-web-architecture |
| Useful video resources | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#useful-video-resources |
| SSL/TLS Basics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#ssltls-basics |
| Introduction | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#introduction-2 |
| TLS versions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#tls-versions |
| TLS handshake | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#tls-handshake |
| In which layer is TLS situated within the TCP/IP stack? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#in-which-layer-is-tls-situated-within-the-tcpip-stack |
| RSA and ECC keys/certificates | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#rsa-and-ecc-keyscertificates |
| Cipher suites | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#cipher-suites |
| Authenticated encryption (AEAD) cipher suites | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#authenticated-encryption-aead-cipher-suites |
| Why cipher suites are important? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#why-cipher-suites-are-important |
| What does insecure, weak, secure and recommended mean? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#what-does-insecure-weak-secure-and-recommended-mean |
| NGINX and TLS 1.3 Cipher Suites | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#nginx-and-tls-13-cipher-suites |
| Diffie-Hellman key exchange | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#diffie-hellman-key-exchange |
| What exactly is the purpose of these DH Parameters? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#what-exactly-is-the-purpose-of-these-dh-parameters |
| Certificates | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#certificates |
| Chain of Trust | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#chain-of-trust |
| What is the main purpose of the Intermediate CA? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#what-is-the-main-purpose-of-the-intermediate-ca |
| Single-domain | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#single-domain |
| Multi-domain | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#multi-domain |
| Wildcard | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#wildcard |
| Wildcard SSL doesn't handle root domain? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#wildcard-ssl-doesnt-handle-root-domain |
| HTTPS with self-signed certificate vs HTTP | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#https-with-self-signed-certificate-vs-http |
| TLS Server Name Indication | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#tls-server-name-indication |
| Verify your SSL, TLS & Ciphers implementation | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#verify-your-ssl-tls--ciphers-implementation |
| Useful video resources | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#useful-video-resources |
| NGINX Basics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#nginx-basics |
| Directories and files | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#directories-and-files |
| Commands | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#commands |
| Processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#processes |
| CPU pinning | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#cpu-pinning |
| Shutdown of worker processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#shutdown-of-worker-processes |
| Configuration syntax | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#configuration-syntax |
| Comments | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#comments |
| End of lines | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#end-of-lines |
| Variables, Strings, and Quotes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#variables-strings-and-quotes |
| Directives, Blocks, and Contexts | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#directives-blocks-and-contexts |
| External files | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#external-files |
| Measurement units | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#measurement-units |
| Regular expressions with PCRE | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#regular-expressions-with-pcre |
| Enable syntax highlighting | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#enable-syntax-highlighting |
| Connection processing | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#connection-processing |
| Event-Driven architecture | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#event-driven-architecture |
| Multiple processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#multiple-processes |
| Simultaneous connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#simultaneous-connections |
| HTTP Keep-Alive connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#http-keep-alive-connections |
| sendfile, tcp_nodelay, and tcp_nopush | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#sendfile-tcp_nodelay-and-tcp_nopush |
| Request processing stages | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#request-processing-stages |
| Server blocks logic | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#server-blocks-logic |
| Handle incoming connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#handle-incoming-connections |
| Matching location | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#matching-location |
| rewrite vs return | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#rewrite-vs-return |
| URL redirections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#url-redirections |
| try_files directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#try_files-directive |
| if, break, and set | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#if-break-and-set |
| root vs alias | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#root-vs-alias |
| internal directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#internal-directive |
| External and internal redirects | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#external-and-internal-redirects |
| allow and deny | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#allow-and-deny |
| uri vs request_uri | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#uri-vs-request_uri |
| Compression and decompression | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#compression-and-decompression |
| What is the best NGINX compression gzip level? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#what-is-the-best-nginx-compression-gzip-level |
| Hash tables | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#hash-tables |
| Server names hash table | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#server-names-hash-table |
| Log files | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#log-files |
| Conditional logging | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#conditional-logging |
| Manually log rotation | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#manually-log-rotation |
| Error log severity levels | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#error-log-severity-levels |
| How to log the start time of a request? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#how-to-log-the-start-time-of-a-request |
| How to log the HTTP request body? | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#how-to-log-the-http-request-body |
| NGINX upstream variables returns 2 values | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#nginx-upstream-variables-returns-2-values |
| Reverse proxy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#reverse-proxy |
| Passing requests | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#passing-requests |
| Trailing slashes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#trailing-slashes |
| Passing headers to the backend | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#passing-headers-to-the-backend |
| Importance of the Host header | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#importance-of-the-host-header |
| Redirects and X-Forwarded-Proto | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#redirects-and-x-forwarded-proto |
| A warning about the X-Forwarded-For | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#a-warning-about-the-x-forwarded-for |
| Improve extensibility with Forwarded | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#improve-extensibility-with-forwarded |
| Response headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#response-headers |
| Load balancing algorithms | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#load-balancing-algorithms |
| Backend parameters | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#backend-parameters |
| Upstream servers with SSL | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#upstream-servers-with-ssl |
| Round Robin | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#round-robin |
| Weighted Round Robin | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#weighted-round-robin |
| Least Connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#least-connections |
| Weighted Least Connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#weighted-least-connections |
| IP Hash | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#ip-hash |
| Generic Hash | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#generic-hash |
| Other methods | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#other-methods |
| Rate limiting | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#rate-limiting |
| Variables | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#variables |
| Directives, keys, and zones | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#directives-keys-and-zones |
| Burst and nodelay parameters | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#burst-and-nodelay-parameters |
| NAXSI Web Application Firewall | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#naxsi-web-application-firewall |
| OWASP ModSecurity Core Rule Set (CRS) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#owasp-modsecurity-core-rule-set-crs |
| Core modules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#core-modules |
| ngx_http_geo_module | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#ngx_http_geo_module |
| 3rd party modules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#3rd-party-modules |
| ngx_set_misc | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#ngx_set_misc |
| ngx_http_geoip_module | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#ngx_http_geoip_module |
| Helpers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#helpers |
| Installing from prebuilt packages | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installing-from-prebuilt-packages |
| RHEL7 or CentOS 7 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#rhel7-or-centos-7 |
| Debian or Ubuntu | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#debian-or-ubuntu |
| FreeBSD | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#freebsd |
| Installing from source | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installing-from-source |
| Automatic installation on RHEL/Debian/BSD | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#automatic-installation-on-rheldebianbsd |
| Nginx package | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#nginx-package |
| Dependencies | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#dependencies |
| Patches | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#patches |
| 3rd party modules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#3rd-party-modules |
| Configure options | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#cconfigure-options |
| Compiler and linker | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#compiler-and-linker |
| Debugging Symbols | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#debugging-symbols |
| SystemTap | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#systemtap |
| stapxx | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#stapxx |
| Installation Nginx on CentOS 7 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installation-nginx-on-centos-7 |
| Pre installation tasks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#pre-installation-tasks |
| Dependencies | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#dependencies |
| Get Nginx sources | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#get-nginx-sources |
| Download 3rd party modules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#download-3rd-party-modules |
| Build Nginx | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#build-nginx |
| Post installation tasks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#post-installation-tasks |
| Installation OpenResty on CentOS 7 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installation-openresty-on-centos-7 |
| Installation Tengine on Ubuntu 18.04 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installation-tengine-on-ubuntu-1804 |
| Installation Nginx on FreeBSD 11.3 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installation-nginx-on-freebsd-113 |
| Installation Nginx on FreeBSD 11.3 (from ports) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#installation-nginx-on-freebsd-113-from-ports |
| Analyse configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-configuration |
| Monitoring | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#monitoring |
| GoAccess | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#goaccess |
| Build and install | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#build-and-install |
| Analyse log file and enable all recorded statistics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-log-file-and-enable-all-recorded-statistics |
| Analyse compressed log file | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-compressed-log-file |
| Analyse log file remotely | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-log-file-remotely |
| Analyse log file and generate html report | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-log-file-and-generate-html-report |
| Ngxtop | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#ngxtop |
| Analyse log file | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-log-file |
| Analyse log file and print requests with 4xx and 5xx | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-log-file-and-print-requests-with-4xx-and-5xx |
| Analyse log file remotely | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-log-file-remotely-1 |
| Testing | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing |
| Build OpenSSL 1.0.2-chacha version | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#build-openssl-102-chacha-version |
| Send request and show response headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#send-request-and-show-response-headers |
| Send request with http method, user-agent, follow redirects and show response headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#send-request-with-http-method-user-agent-follow-redirects-and-show-response-headers |
| Send multiple requests | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#send-multiple-requests |
| Testing SSL connection | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-ssl-connection |
| Testing SSL connection (debug mode) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-ssl-connection-debug-mode |
| Testing SSL connection with SNI support | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-ssl-connection-with-sni-support |
| Testing SSL connection with specific SSL version | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-ssl-connection-with-specific-ssl-version |
| Testing SSL connection with specific cipher | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-ssl-connection-with-specific-cipher |
| Testing OCSP Stapling | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-ocsp-stapling |
| Verify 0-RTT | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#verify-0-rtt |
| Testing SCSV | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#testing-scsv |
| Load testing with ApacheBench (ab) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#load-testing-with-apachebench-ab |
| Standard test | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#standard-test |
| Test with Keep-Alive header | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#test-with-keep-alive-header |
| Load testing with wrk2 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#load-testing-with-wrk2 |
| Standard scenarios | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#standard-scenarios |
| POST call (with Lua) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#post-call-with-lua |
| Random paths (with Lua) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#random-paths-with-lua |
| Multiple paths (with Lua) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#multiple-paths-with-lua |
| Random server address to each thread (with Lua) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#random-server-address-to-each-thread-with-lua |
| Multiple json requests (with Lua) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#multiple-json-requests-with-lua |
| Debug mode (with Lua) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#debug-mode-with-lua |
| Analyse data pass to and from the threads | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-data-pass-to-and-from-the-threads |
| Parsing wrk result and generate report | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#parsing-wrk-result-and-generate-report |
| Load testing with locust | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#load-testing-with-locust |
| Multiple paths | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#multiple-paths |
| Multiple paths with different user sessions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#multiple-paths-with-different-user-sessions |
| TCP SYN flood Denial of Service attack | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#tcp-syn-flood-denial-of-service-attack |
| HTTP Denial of Service attack | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#tcp-syn-flood-denial-of-service-attack |
| Debugging | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#debugging |
| Show information about processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-information-about-nginx-processes |
| Check memory usage | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-memoryusage |
| Show open files | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-open-files |
| Check segmentation fault messages | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-segmentation-fault-messages |
| Dump configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#dump-configuration |
| Get the list of configure arguments | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#get-the-list-of-configure-arguments |
| Check if the module has been compiled | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-if-the-module-has-been-compiled |
| Show the most accessed IP addresses | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-accessed-ip-addresses |
| Show the most accessed IP addresses (ip and url) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-accessed-ip-addresses-ip-and-url |
| Show the most accessed IP addresses (method, code, ip, and url) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-accessed-ip-addresses-method-code-ip-and-url |
| Show the top 5 visitors (IP addresses) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-top-5-visitors-ip-addresses |
| Show the most requested urls | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-requested-urls |
| Show the most requested urls containing 'string' | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-requested-urls-containing-string |
| Show the most requested urls with http methods | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-requested-urls-with-http-methods |
| Show the most accessed response codes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-the-most-accessed-response-codes |
| Analyse web server log and show only 2xx http codes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-web-server-log-and-show-only-2xx-http-codes |
| Analyse web server log and show only 5xx http codes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#analyse-web-server-log-and-show-only-5xx-http-codes |
| Show requests which result 502 and sort them by number per requests by url | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-requests-which-result-502-and-sort-them-by-number-per-requests-by-url |
| Show requests which result 404 for php files and sort them by number per requests by url | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-requests-which-result-404-for-php-files-and-sort-them-by-number-per-requests-by-url |
| Calculating amount of http response codes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#calculating-amount-of-http-response-codes |
| Calculating requests per second | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#calculating-requests-per-second |
| Calculating requests per second with IP addresses | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#calculating-requests-per-second-with-ip-addresses |
| Calculating requests per second with IP addresses and urls | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#calculating-requests-per-second-with-ip-addresses-and-urls |
| Get entries within last n hours | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#get-entries-within-last-n-hours |
| Get entries between two timestamps (range of dates) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#get-entries-between-two-timestamps-range-of-dates |
| Get line rates from web server log | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#get-line-rates-from-web-server-log |
| Trace network traffic for all processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#trace-network-traffic-for-all-nginx-processes |
| List all files accessed by a NGINX | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#list-all-files-accessed-by-a-nginx |
| Check that the gzip_static module is working | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-that-the-gzip_static-module-is-working |
| Which worker processing current request | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#which-worker-processing-current-request |
| Capture only http packets | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#capture-only-http-packets |
| Extract User Agent from the http packets | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#extract-user-agent-from-the-http-packets |
| Capture only http GET and POST packets | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#capture-only-http-get-and-post-packets |
| Capture requests and filter by source ip and destination port | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#capture-requests-and-filter-by-source-ip-and-destination-port |
| Capture HTTP requests/responses in real time, filter by GET, HEAD and save to a file | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#capture-http-requests--responses-in-real-time-filter-by-get-head-and-save-to-a-file |
| Dump a process's memory | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#dump-a-processs-memory |
| GNU Debugger (gdb) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#gnu-debugger-gdb |
| Dump configuration from a running process | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#dump-configuration-from-a-running-process |
| Show debug log in memory | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#show-debug-log-in-memory |
| Core dump backtrace | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#core-dump-backtrace |
| Debugging socket leaks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#debugging-socket-leaks |
| Shell aliases | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#shell-aliases |
| Configuration snippets | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#configuration-snippets |
| Nginx server header removal | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#nginx-server-header-removal |
| Custom log formats | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#custom-log-formats |
| Log only 4xx/5xx | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#log-only-4xx5xx |
| Restricting access with basic authentication | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#restricting-access-with-basic-authentication |
| Restricting access with client certificate | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#restricting-access-with-client-certificate |
| Restricting access by geographical location | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#restricting-access-by-geographical-location |
| GeoIP 2 database | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#geoip-2-database |
| Dynamic error pages with SSI | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#dynamic-error-pages-with-ssi |
| Blocking/allowing IP addresses | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#blockingallowing-ip-addresses |
| Blocking referrer spam | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#blocking-referrer-spam |
| Limiting referrer spam | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#limiting-referrer-spam |
| Blocking User-Agent | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#blocking-user-agent |
| Limiting User-Agent | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#limiting-user-agent |
| Limiting the rate of requests with burst mode | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#limiting-the-rate-of-requests-with-burst-mode |
| Limiting the rate of requests with burst mode and nodelay | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#limiting-the-rate-of-requests-with-burst-mode-and-nodelay |
| Limiting the rate of requests per IP with geo and map | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#limiting-the-rate-of-requests-per-ip-with-geo-and-map |
| Limiting the number of connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#limiting-the-number-of-connections |
| Using trailing slashes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#using-trailing-slashes |
| Properly redirect all HTTP requests to HTTPS | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#properly-redirect-all-http-requests-to-https |
| Adding and removing the www prefix | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#adding-and-removing-the-www-prefix |
| Proxy/rewrite and keep the original URL | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#proxyrewrite-and-keep-the-original-url |
| Proxy/rewrite and keep the part of original URL | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#proxyrewrite-and-keep-the-part-of-original-url |
| Proxy/rewrite without changing the original URL (in browser) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#proxyrewrite-without-changing-the-original-url-in-browser |
| Modify 301/302 response body | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#modify-301302-response-body |
| Redirect POST request with payload to external endpoint | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#redirect-post-request-with-payload-to-external-endpoint |
| Route to different backends based on HTTP method | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#route-to-different-backends-based-on-HTTP-method |
| Allow multiple cross-domains using the CORS headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#allow-multiple-cross-domains-using-the-cors-headers |
| Set correct scheme passed in X-Forwarded-Proto | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#set-correct-scheme-passed-in-x-forwarded-proto |
| Other snippets | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#other-snippets |
| Recreate base directory | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#recreate-base-directory |
| Create a temporary static backend | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#create-a-temporary-static-backend |
| Create a temporary static backend with SSL support | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#create-a-temporary-static-backend-with-ssl-support |
| Generate password file with htpasswd command | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-password-file-with-htpasswd-command |
| Generate private key without passphrase | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-private-key-without-passphrase |
| Generate private key with passphrase | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-private-key-with-passphrase |
| Remove passphrase from private key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#remove-passphrase-from-private-key |
| Encrypt existing private key with a passphrase | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#encrypt-existing-private-key-with-a-passphrase |
| Generate CSR | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-csr |
| Generate CSR (metadata from existing certificate) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-csr-metadata-from-existing-certificate |
| Generate CSR with -config param | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-csr-with--config-param |
| Generate private key and CSR | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-private-key-and-csr |
| List available EC curves | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#list-available-ec-curves |
| Print ECDSA private and public keys | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#print-ecdsa-private-and-public-keys |
| Generate ECDSA private key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-ecdsa-private-key |
| Generate private key and CSR (ECC) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-private-key-and-csr-ecc |
| Generate self-signed certificate | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-self-signed-certificate |
| Generate self-signed certificate from existing private key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-self-signed-certificate-from-existing-private-key |
| Generate self-signed certificate from existing private key and csr | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-self-signed-certificate-from-existing-private-key-and-csr |
| Generate multidomain certificate (Certbot) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-multidomain-certificate-certbot |
| Generate wildcard certificate (Certbot) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-wildcard-certificate-certbot |
| Generate certificate with 4096 bit private key (Certbot) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-certificate-with-4096-bit-private-key-certbot |
| Generate DH public parameters | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#generate-dh-public-parameters |
| Display DH public parameters | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#display-dh-public-parameters |
| Extract private key from pfx | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#extract-private-key-from-pfx |
| Extract private key and certs from pfx | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#extract-private-key-and-certs-from-pfx |
| Extract certs from p7b | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#extract-certs-from-p7b |
| Convert DER to PEM | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#convert-der-to-pem |
| Convert PEM to DER | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#convert-pem-to-der |
| Verification of the certificate's supported purposes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#verification-of-the-certificates-supported-purposes |
| Check private key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-private-key |
| Verification of the private key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#verification-of-the-private-key |
| Get public key from private key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#get-public-key-from-private-key |
| Verification of the public key | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#verification-of-the-public-key |
| Verification of the certificate | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#verification-of-the-certificate |
| Verification of the CSR | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#verification-of-the-csr |
| Check the private key and the certificate are match | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-the-private-key-and-the-certificate-are-match |
| Check the private key and the CSR are match | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#check-the-private-key-and-the-csr-are-match |
| TLSv1.3 and CCM ciphers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#tlsv13-and-ccm-ciphers |
| Base Rules (16) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#base-rules |
| Organising Nginx configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-organising-nginx-configuration |
| Format, prettify and indent your Nginx code | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-format-prettify-and-indent-your-nginx-code |
| Use reload option to change configurations on the fly | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-reload-option-to-change-configurations-on-the-fly |
| Separate listen directives for 80 and 443 ports | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-separate-listen-directives-for-80-and-443-ports |
| Define the listen directives with address:port pair | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-define-the-listen-directives-with-addressport-pair |
| Prevent processing requests with undefined server names | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-processing-requests-with-undefined-server-names |
| Never use a hostname in a listen or upstream directives | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-never-use-a-hostname-in-a-listen-or-upstream-directives |
| Set the HTTP headers with add_header and proxy_*_header directives properly | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-the-http-headers-with-add_header-and-proxy__header-directives-properly |
| Use only one SSL config for the listen directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-only-one-ssl-config-for-the-listen-directive |
| Use geo/map modules instead of allow/deny | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-geomap-modules-instead-of-allowdeny |
| Map all the things... | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-map-all-the-things |
| Set global root directory for unmatched locations | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-global-root-directory-for-unmatched-locations |
| Use return directive for URL redirection (301, 302) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-return-directive-for-url-redirection-301-302 |
| Configure log rotation policy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-configure-log-rotation-policy |
| Use simple custom error pages | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-simple-custom-error-pages |
| Don't duplicate index directive, use it only in the http block | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-dont-duplicate-index-directive-use-it-only-in-the-http-block |
| Debugging (5) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#debugging |
| Use custom log formats | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-custom-log-formats |
| Use debug mode to track down unexpected behaviour | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-debug-mode-to-track-down-unexpected-behaviour |
| Improve debugging by disable daemon, master process, and all workers except one | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-improve-debugging-by-disable-daemon-master-process-and-all-workers-except-one |
| Use core dumps to figure out why NGINX keep crashing | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-core-dumps-to-figure-out-why-nginx-keep-crashing |
| Use mirror module to copy requests to another backend | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-mirror-module-to-copy-requests-to-another-backend |
| Performance (13) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#performance |
| Adjust worker processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-adjust-worker-processes |
| Use HTTP/2 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-http2 |
| Maintaining SSL sessions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-maintaining-ssl-sessions |
| Enable OCSP Stapling | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-ocsp-stapling |
| Use exact names in a server_name directive if possible | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-exact-names-in-a-server_name-directive-if-possible |
| Avoid checks server_name with if directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-avoid-checks-server_name-with-if-directive |
| Use $request_uri to avoid using regular expressions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-request_uri-to-avoid-using-regular-expressions |
| Use try_files directive to ensure a file exists | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-try_files-directive-to-ensure-a-file-exists |
| Use return directive instead of rewrite for redirects | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-return-directive-instead-of-rewrite-for-redirects |
| Enable PCRE JIT to speed up processing of regular expressions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-pcre-jit-to-speed-up-processing-of-regular-expressions |
| Activate the cache for connections to upstream servers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-activate-the-cache-for-connections-to-upstream-servers |
| Make an exact location match to speed up the selection process | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-make-an-exact-location-match-to-speed-up-the-selection-process |
| Use limit_conn to improve limiting the download speed | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-limit_conn-to-improve-limiting-the-download-speed |
| Hardening (31) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#hardening |
| Always keep NGINX up-to-date | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-always-keep-nginx-up-to-date |
| Run as an unprivileged user | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-run-as-an-unprivileged-user |
| Disable unnecessary modules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-disable-unnecessary-modules |
| Protect sensitive resources | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-protect-sensitive-resources |
| Take care about your ACL rules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-take-care-about-your-acl-rules |
| Hide Nginx version number | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-hide-nginx-version-number |
| Hide Nginx server signature | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-hide-nginx-server-signature |
| Hide upstream proxy headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-hide-upstream-proxy-headers |
| Remove support for legacy and risky HTTP request headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-remove-support-for-legacy-and-risky-http-request-headers |
| Use only the latest supported OpenSSL version | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-only-the-latest-supported-openssl-version |
| Force all connections over TLS | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-force-all-connections-over-tls |
| Use min. 2048-bit for RSA and 256-bit for ECC | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-min-2048-bit-for-rsa-and-256-bit-for-ecc |
| Keep only TLS 1.3 and TLS 1.2 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-keep-only-tls-13-and-tls-12 |
| Use only strong ciphers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-only-strong-ciphers |
| Use more secure ECDH Curve | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-more-secure-ecdh-curve |
| Use strong Key Exchange with Perfect Forward Secrecy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-strong-key-exchange-with-perfect-forward-secrecy |
| Prevent Replay Attacks on Zero Round-Trip Time | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-replay-attacks-on-zero-round-trip-time |
| Defend against the BEAST attack | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-defend-against-the-beast-attack |
| Mitigation of CRIME/BREACH attacks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-mitigation-of-crimebreach-attacks |
| Enable HTTP Strict Transport Security | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-http-strict-transport-security |
| Reduce XSS risks (Content-Security-Policy) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-reduce-xss-risks-content-security-policy |
| Control the behaviour of the Referer header (Referrer-Policy) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-control-the-behaviour-of-the-referer-header-referrer-policy |
| Provide clickjacking protection (X-Frame-Options) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-provide-clickjacking-protection-x-frame-options |
| Prevent some categories of XSS attacks (X-XSS-Protection) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-some-categories-of-xss-attacks-x-xss-protection |
| Prevent Sniff Mimetype middleware (X-Content-Type-Options) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-sniff-mimetype-middleware-x-content-type-options |
| Deny the use of browser features (Feature-Policy) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-deny-the-use-of-browser-features-feature-policy |
| Reject unsafe HTTP methods | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-reject-unsafe-http-methods |
| Prevent caching of sensitive data | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-caching-of-sensitive-data |
| Limit concurrent connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-limit-concurrent-connections |
| Control Buffer Overflow attacks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-control-buffer-overflow-attacks |
| Mitigating Slow HTTP DoS attacks (Closing Slow Connections) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-mitigating-slow-http-dos-attacks-closing-slow-connections |
| Reverse Proxy (8) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#reverse-proxy |
| Use pass directive compatible with backend protocol | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-pass-directive-compatible-with-backend-protocol |
| Be careful with trailing slashes in proxy_pass directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-be-careful-with-trailing-slashes-in-proxy_pass-directive |
| Set and pass Host header only with $host variable | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-and-pass-host-header-only-with-host-variable |
| Set properly values of the X-Forwarded-For header | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-properly-values-of-the-x-forwarded-for-header |
| Don't use X-Forwarded-Proto with $scheme behind reverse proxy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-dont-use-x-forwarded-proto-with-scheme-behind-reverse-proxy |
| Always pass Host, X-Real-IP, and X-Forwarded headers to the backend | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-always-pass-host-x-real-ip-and-x-forwarded-headers-to-the-backend |
| Use custom headers without X- prefix | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-custom-headers-without-x--prefix |
| Always use $request_uri instead of $uri in proxy_pass | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-always-use-request_uri-instead-of-uri-in-proxy_pass |
| Load Balancing (2) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#load-balancing |
| Tweak passive health checks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-tweak-passive-health-checks |
| Don't disable backends by comments, use down parameter | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-dont-disable-backends-by-comments-use-down-parameter |
| Others (4) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#others |
| Set the certificate chain correctly | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-the-certificate-chain-correctly |
| Enable DNS CAA Policy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-dns-caa-policy |
| Define security policies with security.txt | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-define-security-policies-with-securitytxt |
| Use tcpdump to diagnose and troubleshoot the HTTP issues | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-tcpdump-to-monitor-http-traffic |
| Configuration Examples | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#configuration-examples |
| Reverse Proxy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#reverse-proxy |
| Installation | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#installation |
| Configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#configuration |
| Import configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#import-configuration |
| Set bind IP address | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#set-bind-ip-address |
| Set your domain name | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#set-your-domain-name |
| Regenerate private keys and certs | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#regenerate-private-keys-and-certs |
| Update modules list | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#update-modules-list |
| Generating the necessary error pages | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#generating-the-necessary-error-pages |
| Add new domain | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#add-new-domain |
| Test your configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#test-your-configuration |
| https://github.com/trimstray/nginx-admins-handbook#introduction |
|
| https://www.nginx.com/ |
| Beginner’s Guide | http://nginx.org/en/docs/beginners_guide.html |
| Igor Sysoev | http://sysoev.ru/en/ |
| Netcraft survey | https://news.netcraft.com/archives/category/web-server-survey/ |
| C10K problem | http://www.kegel.com/c10k.html |
| Getting Started | https://www.nginx.com/resources/wiki/start/ |
| NGINX Documentation | https://nginx.org/en/docs/ |
| Development guide | http://nginx.org/en/docs/dev/development_guide.html |
| Security Controls | https://docs.nginx.com/nginx/admin-guide/security-controls/ |
| HTTP Made Really Easy | https://www.jmarshall.com/easy/http/ |
| Hypertext Transfer Protocol Specification | https://www.w3.org/Protocols/ |
| Web technology for developers - HTTP | https://developer.mozilla.org/en-US/docs/Web/HTTP |
| Cryptology ePrint Archive | https://eprint.iacr.org/ |
| Practical Cryptography for Developers | https://cryptobook.nakov.com/ |
| Bulletproof SSL and TLS | https://www.feistyduck.com/books/bulletproof-ssl-and-tls/ |
| OWASP Cheat Sheet Series | https://cheatsheetseries.owasp.org/ |
| Burp Scanner - Issue Definitions | https://portswigger.net/kb/issues |
| The Web Security Academy | https://portswigger.net/web-security |
| Nginx Security Advisories | http://nginx.org/en/security_advisories.html |
| CVE Details | https://www.cvedetails.com/vendor/10048/Nginx.html |
| CVE - The MITRE Corporation | https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=NGINX |
| https://github.com/trimstray/nginx-admins-handbook#prologue |
| NGINX Official Documentation | https://nginx.org/en/docs/ |
| agentzh's Nginx Tutorials | https://openresty.org/download/agentzh-nginx-tutorials-en.html |
| Nginx Guts | http://www.nginxguts.com/ |
| Nginx discovery journey | http://www.nginx-discovery.com/ |
| Nginx Secure Web Server | https://calomel.org/nginx.html |
| Emiller’s Guide To Nginx Module Development | https://www.evanmiller.org/nginx-modules-guide.html |
| Emiller’s Advanced Topics In Nginx Module Development | https://www.evanmiller.org/nginx-modules-guide-advanced.html |
| Books | https://github.com/trimstray/nginx-admins-handbook#books |
| https://github.com/trimstray/nginx-admins-handbook#why-i-created-this-handbook |
| https://github.com/trimstray/nginx-admins-handbook#who-this-handbook-is-for |
| to improve and to do | https://github.com/trimstray/nginx-admins-handbook#contributing--support |
| I’m not a crypto expert... but I do know the term "elliptic curve" | https://twitter.com/ErikVoorhees/status/1004313761224757248 |
| https://github.com/trimstray/nginx-admins-handbook#before-you-start |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/crypto_nerds.png |
| bostik | https://news.ycombinator.com/user?id=bostik |
| Tim X | https://security.stackexchange.com/users/13958/tim-x |
| https://github.com/trimstray/nginx-admins-handbook#contributing--support |
| contributing guidelines | https://github.com/trimstray/nginx-admins-handbook/blob/master/.github/CONTRIBUTING.md |
| https://github.com/trimstray/nginx-admins-handbook#code-contributors |
| https://github.com/trimstray/nginx-admins-handbook/graphs/contributors |
| https://github.com/trimstray/nginx-admins-handbook#todo |
| https://github.com/trimstray/nginx-admins-handbook#rss-feed--updates |
| RSS/Atom | https://github.com/trimstray/nginx-admins-handbook/commits.atom |
| https://github.com/trimstray/nginx-admins-handbook#checklist-to-rule-them-all |
| all rules (79) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Define the listen directives with address:port pair | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-define-the-listen-directives-with-addressport-pair |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Prevent processing requests with undefined server names | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-processing-requests-with-undefined-server-names |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Never use a hostname in a listen or upstream directives | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-never-use-a-hostname-in-a-listen-or-upstream-directives |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Set the HTTP headers with add_header and proxy_*_header directives properly | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-the-http-headers-with-add_header-and-proxy__header-directives-properly |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Configure log rotation policy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-configure-log-rotation-policy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use simple custom error pages | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-simple-custom-error-pages |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use HTTP/2 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-http2 |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Always keep NGINX up-to-date | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-always-keep-nginx-up-to-date |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Run as an unprivileged user | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-run-as-an-unprivileged-user |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Protect sensitive resources | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-protect-sensitive-resources |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Take care about your ACL rules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-take-care-about-your-acl-rules |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Hide upstream proxy headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-hide-upstream-proxy-headers |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Remove support for legacy and risky HTTP request headers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-remove-support-for-legacy-and-risky-http-request-headers |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Force all connections over TLS | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-force-all-connections-over-tls |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use min. 2048-bit for RSA and 256-bit for ECC | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-min-2048-bit-for-rsa-and-256-bit-for-ecc |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Keep only TLS 1.3 and TLS 1.2 | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-keep-only-tls-13-and-tls-12 |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use only strong ciphers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-only-strong-ciphers |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use more secure ECDH Curve | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-more-secure-ecdh-curve |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use strong Key Exchange with Perfect Forward Secrecy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-strong-key-exchange-with-perfect-forward-secrecy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Defend against the BEAST attack | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-defend-against-the-beast-attack |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Enable HTTP Strict Transport Security | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-http-strict-transport-security |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Reduce XSS risks (Content-Security-Policy) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-reduce-xss-risks-content-security-policy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Control the behaviour of the Referer header (Referrer-Policy) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-control-the-behaviour-of-the-referer-header-referrer-policy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Provide clickjacking protection (X-Frame-Options) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-provide-clickjacking-protection-x-frame-options |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Prevent some categories of XSS attacks (X-XSS-Protection) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-some-categories-of-xss-attacks-x-xss-protection |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Prevent Sniff Mimetype middleware (X-Content-Type-Options) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-sniff-mimetype-middleware-x-content-type-options |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Reject unsafe HTTP methods | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-reject-unsafe-http-methods |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Prevent caching of sensitive data | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-caching-of-sensitive-data |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Limit concurrent connections | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-limit-concurrent-connections |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Use pass directive compatible with backend protocol | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-pass-directive-compatible-with-backend-protocol |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Set properly values of the X-Forwarded-For header | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-properly-values-of-the-x-forwarded-for-header |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Don't use X-Forwarded-Proto with $scheme behind reverse proxy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-dont-use-x-forwarded-proto-with-scheme-behind-reverse-proxy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Always use $request_uri instead of $uri in proxy_pass | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-always-use-request_uri-instead-of-uri-in-proxy_pass |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/high.png |
| Organising Nginx configuration | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-organising-nginx-configuration |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Format, prettify and indent your Nginx code | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-format-prettify-and-indent-your-nginx-code |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use reload option to change configurations on the fly | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-reload-option-to-change-configurations-on-the-fly |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use return directive for URL redirection (301, 302) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-return-directive-for-url-redirection-301-302 |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Maintaining SSL sessions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-maintaining-ssl-sessions |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Enable OCSP Stapling | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-ocsp-stapling |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use exact names in a server_name directive if possible | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-exact-names-in-a-server_name-directive-if-possible |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Avoid checks server_name with if directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-avoid-checks-server_name-with-if-directive |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use $request_uri to avoid using regular expressions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-request_uri-to-avoid-using-regular-expressions |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use try_files directive to ensure a file exists | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-try_files-directive-to-ensure-a-file-exists |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use return directive instead of rewrite for redirects | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-return-directive-instead-of-rewrite-for-redirects |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Enable PCRE JIT to speed up processing of regular expressions | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-pcre-jit-to-speed-up-processing-of-regular-expressions |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Activate the cache for connections to upstream servers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-activate-the-cache-for-connections-to-upstream-servers |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Disable unnecessary modules | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-disable-unnecessary-modules |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Hide Nginx version number | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-hide-nginx-version-number |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Hide Nginx server signature | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-hide-nginx-server-signature |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Use only the latest supported OpenSSL version | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-only-the-latest-supported-openssl-version |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Prevent Replay Attacks on Zero Round-Trip Time | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-prevent-replay-attacks-on-zero-round-trip-time |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Mitigation of CRIME/BREACH attacks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-mitigation-of-crimebreach-attacks |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Deny the use of browser features (Feature-Policy) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-deny-the-use-of-browser-features-feature-policy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Control Buffer Overflow attacks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-control-buffer-overflow-attacks |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Mitigating Slow HTTP DoS attacks (Closing Slow Connections) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-mitigating-slow-http-dos-attack-closing-slow-connections |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Set and pass Host header only with $host variable | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-and-pass-host-header-only-with-host-variable |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Always pass Host, X-Real-IP, and X-Forwarded headers to the backend | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-always-pass-host-x-real-ip-and-x-forwarded-headers-to-the-backend |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Set the certificate chain correctly | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-the-certificate-chain-correctly |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Enable DNS CAA Policy | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-enable-dns-caa-policy |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/medium.png |
| Separate listen directives for 80 and 443 ports | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-separate-listen-directives-for-80-and-443-ports |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Use only one SSL config for the listen directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-only-one-ssl-config-for-the-listen-directive |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Use geo/map modules instead of allow/deny | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-geomap-modules-instead-of-allowdeny |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Set global root directory for unmatched locations | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-set-global-root-directory-for-unmatched-locations |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Don't duplicate index directive, use it only in the http block | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-dont-duplicate-index-directive-use-it-only-in-the-http-block |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Adjust worker processes | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-adjust-worker-processes |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Make an exact location match to speed up the selection process | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-make-an-exact-location-match-to-speed-up-the-selection-process |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Use limit_conn to improve limiting the download speed | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-limit_conn-to-improve-limiting-the-download-speed |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Be careful with trailing slashes in proxy_pass directive | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-be-careful-with-trailing-slashes-in-proxy_pass-directive |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Use custom headers without X- prefix | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-custom-headers-without-x--prefix |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Tweak passive health checks | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-tweak-passive-health-checks |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Define security policies with security.txt | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-define-security-policies-with-securitytxt |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/low.png |
| Map all the things... | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-map-all-the-things |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Use custom log formats | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-custom-log-formats |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Use debug mode to track down unexpected behaviour | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-debug-mode-to-track-down-unexpected-behaviour |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Improve debugging by disable daemon, master process, and all workers except one | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-improve-debugging-by-disable-daemon-master-process-and-all-workers-except-one |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Use core dumps to figure out why NGINX keep crashing | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-core-dumps-to-figure-out-why-nginx-keep-crashing |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Use mirror module to copy requests to another backend | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-mirror-module-to-copy-requests-to-another-backend |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Don't disable backends by comments, use down parameter | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-dont-disable-backends-by-comments-use-down-parameter |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| Use tcpdump to diagnose and troubleshoot the HTTP issues | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-tcpdump-to-diagnose-and-troubleshoot-the-http-issues |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/priorities/info.png |
| https://github.com/trimstray/nginx-admins-handbook#bonus-stuff |
| https://github.com/trimstray/nginx-admins-handbook#configuration-reports |
| configuration examples | https://github.com/trimstray/nginx-admins-handbook#configuration-examples |
| this | https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/cheatsheets/nginx-hardening-cheatsheet-tls13.png |
| https://github.com/trimstray/nginx-admins-handbook#ssl-labs |
| here | https://community.qualys.com/docs/DOC-6321-ssl-labs-grading-2018 |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/blkcipher_ssllabs_preview.png |
| this | https://security.stackexchange.com/a/112539 |
| Tom Leek | https://security.stackexchange.com/users/5411/tom-leek |
| https://github.com/trimstray/nginx-admins-handbook#mozilla-observatory |
| here | https://observatory.mozilla.org/faq/ |
| Observatory Scoring Methodology | https://github.com/mozilla/http-observatory/blob/master/httpobs/docs/scoring.md |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/blkcipher_mozilla_observatory_preview.png |
| https://github.com/trimstray/nginx-admins-handbook#printable-hardening-cheatsheets |
| this | https://github.com/trimstray/nginx-admins-handbook/tree/master/static/img |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/cheatsheets/nginx-hardening-cheatsheet-tls12-100p.png |
| https://github.com/trimstray/nginx-admins-handbook/blob/master/static/img/cheatsheets/nginx-hardening-cheatsheet-tls13.png |
| https://github.com/trimstray/nginx-admins-handbook#fully-automatic-installation |
| Installing from source - Automatic installation | https://github.com/trimstray/nginx-admins-handbook/tree/master/lib |
| https://github.com/trimstray/nginx-admins-handbook#static-error-pages-generator |
| HTTP Static Error Pages Generator | https://github.com/trimstray/nginx-admins-handbook/tree/master/lib/nginx/snippets/http-error-pages#http-static-error-pages-generator |
| https://github.com/trimstray/nginx-admins-handbook#server-names-parser |
| snippets/server-name-parser | https://github.com/trimstray/nginx-admins-handbook/tree/master/lib/nginx/snippets/server-name-parser |
| https://github.com/trimstray/nginx-admins-handbook#books |
| Nginx Essentials | https://www.amazon.com/Nginx-Essentials-Valery-Kholodkov/dp/1785289535 |
| https://github.com/trimstray/nginx-admins-handbook#nginx-essentials |
| Nginx Cookbook | https://www.oreilly.com/library/view/nginx-cookbook/9781492049098/ |
| https://github.com/trimstray/nginx-admins-handbook#nginx-cookbook |
| Nginx HTTP Server | https://www.amazon.com/Nginx-HTTP-Server-Harness-infrastructure/dp/178862355X |
| https://github.com/trimstray/nginx-admins-handbook#nginx-http-server |
| Nginx High Performance | https://www.amazon.com/Nginx-High-Performance-Rahul-Sharma/dp/1785281836 |
| https://github.com/trimstray/nginx-admins-handbook#nginx-high-performance |
| Mastering Nginx | https://www.amazon.com/Mastering-Nginx-Dimitri-Aivaliotis/dp/1849517444 |
| https://github.com/trimstray/nginx-admins-handbook#mastering-nginx |
| ModSecurity 3.0 and NGINX: Quick Start Guide | https://www.nginx.com/resources/library/modsecurity-3-nginx-quick-start-guide/ |
| https://github.com/trimstray/nginx-admins-handbook#modsecurity-30-and-nginx-quick-start-guide |
| Cisco ACE to NGINX: Migration Guide | https://www.nginx.com/resources/library/cisco-ace-nginx-migration-guide/ |
| https://github.com/trimstray/nginx-admins-handbook#cisco-ace-to-nginx-migration-guide |
| https://github.com/trimstray/nginx-admins-handbook#external-resources |
| https://github.com/trimstray/nginx-admins-handbook#nginx-official |
| Nginx Project | https://www.nginx.com/ |
| Nginx Documentation | https://nginx.org/en/docs/ |
| Nginx Wiki | https://www.nginx.com/resources/wiki/ |
| Nginx Admin's Guide | https://docs.nginx.com/nginx/admin-guide/ |
| Nginx Pitfalls and Common Mistakes | https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ |
| Development Guide | http://nginx.org/en/docs/dev/development_guide.html |
| Nginx Forum | https://forum.nginx.org/ |
| Nginx Security Advisories | http://nginx.org/en/security_advisories.html |
| Nginx Security Controls | https://docs.nginx.com/nginx/admin-guide/security-controls/ |
| Nginx Mailing List | https://mailman.nginx.org/mailman/listinfo/nginx |
| Nginx Read-only Mirror | https://github.com/nginx/nginx |
| NGINX-Demos
| https://github.com/nginxinc/NGINX-Demos |
| Thread Pools in NGINX Boost Performance 9x! | https://www.nginx.com/blog/thread-pools-boost-performance-9x/ |
| https://github.com/trimstray/nginx-admins-handbook#nginx-distributions |
| OpenResty | https://openresty.org/ |
| The Tengine Web Server | https://tengine.taobao.org/ |
| https://github.com/trimstray/nginx-admins-handbook#comparison-reviews |
| NGINX vs. Apache (Pro/Con Review, Uses, & Hosting for Each) | https://www.hostingadvice.com/how-to/nginx-vs-apache/ |
| Web cache server performance benchmark: nuster vs nginx vs varnish vs squid | https://github.com/jiangwenyuan/nuster/wiki/Web-cache-server-performance-benchmark:-nuster-vs-nginx-vs-varnish-vs-squid |
| https://github.com/trimstray/nginx-admins-handbook#cheatsheets--references |
| agentzh's Nginx Tutorials | https://openresty.org/download/agentzh-nginx-tutorials-en.html |
| Introduction to nginx.conf scripting | http://agentzh.org/misc/slides/nginx-conf-scripting/nginx-conf-scripting.html#1 |
| Nginx discovery journey | http://www.nginx-discovery.com/ |
| Nginx Guts | http://www.nginxguts.com/ |
| Nginx Cheatsheet | https://gist.github.com/carlessanagustin/9509d0d31414804da03b |
| Nginx Tutorials, Linux Sysadmin Configuration & Optimizing Tips and Tricks | http://www.scalescale.com/tips/nginx/ |
| Nginx boilerplate configs | https://github.com/h5bp/server-configs-nginx |
| Awesome Nginx configuration template | https://github.com/nginx-boilerplate/nginx-boilerplate |
| Nginx Quick Reference | https://github.com/SimulatedGREG/nginx-cheatsheet |
| A collection of resources covering Nginx and more | https://github.com/fcambus/nginx-resources |
| A collection of useful Nginx configuration snippets | https://github.com/lebinh/nginx-conf |
| Nginx configurations for most popular CMS/CMF/Frameworks based on PHP | https://github.com/elasticweb/nginx-configs |
| Boilerplate configuration for nginx and certbot with docker-compose | https://github.com/wmnnd/nginx-certbot |
| https://github.com/trimstray/nginx-admins-handbook#performance--hardening |
| Nginx Tuning For Best Performance by Denji | https://github.com/denji/nginx-tuning |
| Nginx Optimization: understanding sendfile, tcp_nodelay and tcp_nopush | https://thoughts.t37.net/nginx-optimization-understanding-sendfile-tcp-nodelay-and-tcp-nopush-c55cdd276765 |
| How we scaled nginx and saved the world 54 years every day | https://blog.cloudflare.com/how-we-scaled-nginx-and-saved-the-world-54-years-every-day/ |
| TLS has exactly one performance problem: it is not used widely enough | https://istlsfastyet.com/ |
| SSL/TLS Deployment Best Practices | https://www.ssllabs.com/projects/best-practices/ |
| SSL Server Rating Guide | https://www.ssllabs.com/projects/rating-guide/index.html |
| SSL Pulse | https://www.ssllabs.com/ssl-pulse/ |
| How to Build a Tough NGINX Server in 15 Steps | https://www.upguard.com/blog/how-to-build-a-tough-nginx-server-in-15-steps |
| Top 25 Nginx Web Server Best Security Practices | https://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html |
| Nginx Secure Web Server | https://calomel.org/nginx.html |
| Strong SSL Security on Nginx | https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html |
| Enable cross-origin resource sharing (CORS) | https://enable-cors.org/index.html |
| NAXSI - WAF for Nginx | https://github.com/nbs-system/naxsi |
| ModSecurity for Nginx | https://geekflare.com/install-modsecurity-on-nginx/ |
| https://github.com/trimstray/nginx-admins-handbook#presentations--videos |
| NGINX: Basics and Best Practices | https://www.slideshare.net/Nginx/nginx-basics-and-best-practices |
| NGINX Installation and Tuning | https://www.slideshare.net/Nginx/nginx-installation-and-tuning |
| Nginx Internals (by Joshua Zhu) | https://www.slideshare.net/joshzhu/nginx-internals |
| Nginx internals (by Liqiang Xu) | https://www.slideshare.net/feifengxlq/nginx-internals-10514355 |
| How to secure your web applications with NGINX | https://www.slideshare.net/wallarm/how-to-secure-your-web-applications-with-nginx |
| Tuning TCP and NGINX on EC2 | https://www.slideshare.net/chartbeat/tuning-tcp-and-nginx-on-ec2 |
| Extending functionality in nginx, with modules! | https://www.slideshare.net/trygvevea/extending-functionality-in-nginx-with-modules |
| Nginx - Tips and Tricks. | https://www.slideshare.net/tuxtoti/nginx-tips-and-tricks-13087831 |
| Nginx Scripting - Extending Nginx Functionalities with Lua | https://www.slideshare.net/TonyFabeen/nginx-scripting-extending-nginx-functionalities-with-lua |
| How to handle over 1,200,000 HTTPS Reqs/Min | https://www.slideshare.net/kazeburo/advanced-nginx-in-mercari-how-to-handle-over-1200000-https-reqsmin |
| Using ngx_lua / lua-nginx-module in pixiv | https://www.slideshare.net/harukayon/ngx-lua-public |
| Reading nginx CHANGES together | https://mdounin.ru/files/mdounin-nginx-whatsnew-nginxconf2018.pdf |
| Dynamic modules:how it works | https://mdounin.ru/files/mdounin-dynamic-modules-nginxconf2016.pdf |
| NGINX Conf 2014 | https://www.youtube.com/playlist?list=PLGz_X9w9raXewvc6tjIGGFZ6DBKHEld3k |
| NGINX Conf 2015 | https://www.youtube.com/playlist?list=PLGz_X9w9raXdED9BR6GQ61A6d3fBzjpbn |
| NGINX Conf 2016 | https://www.youtube.com/playlist?list=PLGz_X9w9raXcOsB_dT26iu0BvbSxWYG1g |
| NGINX Conf 2017 | https://www.youtube.com/playlist?list=PLGz_X9w9raXeT-z_rcZ9yF0kV5SENZ-yt |
| NGINX Conf 2018 | Deep Dive Track | https://www.youtube.com/playlist?list=PLGz_X9w9raXeHhKRX6ZS7vmFKN12iYOw9 |
| NGINX Conf 2018 | Keynotes and Sessions | https://www.youtube.com/playlist?list=PLGz_X9w9raXe_Vc708VKvr5KJ4gnf1WxS |
| Making HTTPS Fast(er): Ilya Grigorik @ nginx.conf 2014 | https://www.youtube.com/watch?v=iHxD-G0YjiU |
| https://github.com/trimstray/nginx-admins-handbook#playgrounds |
| NGINX Rate Limit, Burst and nodelay sandbox | https://github.com/sportebois/nginx-rate-limit-sandbox |
| https://github.com/trimstray/nginx-admins-handbook#config-generators |
| nginxconfig | https://nginxconfig.io/ |
| ssl-config-generator | https://github.com/mozilla/ssl-config-generator |
| nginx-config-builder | https://github.com/linkedin/nginx-config-builder |
| https://github.com/trimstray/nginx-admins-handbook#config-parsers |
| crossplane | https://github.com/nginxinc/crossplane |
| nginxparser | https://github.com/fatiherikli/nginxparser |
| https://github.com/trimstray/nginx-admins-handbook#config-managers |
| ansible-role-nginx | https://github.com/jdauphant/ansible-role-nginx |
| ansible-role-nginx | https://github.com/geerlingguy/ansible-role-nginx |
| ansible-role-nginx | https://github.com/nginxinc/ansible-role-nginx |
| puppet-nginx | https://github.com/voxpupuli/puppet-nginx |
| https://github.com/trimstray/nginx-admins-handbook#static-analyzers |
| gixy | https://github.com/yandex/gixy |
| nginx-config-formatter | https://github.com/1connect/nginx-config-formatter |
| nginxbeautifier | https://github.com/vasilevich/nginxbeautifier |
| nginx-minify-conf | https://github.com/lovette/nginx-tools/tree/master/nginx-minify-conf |
| https://github.com/trimstray/nginx-admins-handbook#log-analyzers |
| GoAccess | https://goaccess.io/ |
| Graylog | https://www.graylog.org/ |
| Logstash | https://www.elastic.co/products/logstash |
| https://github.com/trimstray/nginx-admins-handbook#performance-analyzers |
| ngxtop | https://github.com/lebinh/ngxtop |
| https://github.com/trimstray/nginx-admins-handbook#builder-tools |
| Nginx-builder | https://github.com/TinkoffCreditSystems/Nginx-builder |
| https://github.com/trimstray/nginx-admins-handbook#benchmarking-tools |
| ab | https://httpd.apache.org/docs/2.4/programs/ab.html |
| siege | https://www.joedog.org/siege-home/ |
| wrk | https://github.com/wg/wrk |
| wrk2 | https://github.com/giltene/wrk2 |
| vegeta | https://github.com/tsenart/vegeta |
| bombardier | https://github.com/codesenberg/bombardier |
| gobench | https://github.com/cmpxchg16/gobench |
| hey | https://github.com/rakyll/hey |
| boom | https://github.com/tarekziade/boom |
| httperf | https://github.com/tarekziade/httperf |
| JMeter™ | https://jmeter.apache.org/ |
| Gatling | https://gatling.io/ |
| locust | https://github.com/locustio/locust |
| slowloris | https://github.com/gkbrk/slowloris |
| slowhttptest | https://github.com/shekyan/slowhttptest |
| GoldenEye | https://github.com/jseidl/GoldenEye |
| https://github.com/trimstray/nginx-admins-handbook#debugging-tools |
| strace | https://strace.io/ |
| GDB | https://www.gnu.org/software/gdb/ |
| SystemTap | https://sourceware.org/systemtap/ |
| stapxx | https://github.com/openresty/stapxx |
| htrace.sh | https://github.com/trimstray/htrace.sh |
| https://github.com/trimstray/nginx-admins-handbook#security--web-testing-tools |
| Burp Suite | https://portswigger.net/burp |
| w3af | http://w3af.org/ |
| nikto | https://github.com/sullo/nikto |
| ssllabs-scan | https://github.com/ssllabs/ssllabs-scan |
| http-observatory | https://github.com/mozilla/http-observatory |
| testssl.sh | https://testssl.sh/ |
| sslyze | https://github.com/nabla-c0d3/sslyze |
| cipherscan | https://github.com/mozilla/cipherscan |
| O-Saft | https://github.com/OWASP/O-Saft |
| Nghttp2 | https://nghttp2.org/ |
| h2spec | https://github.com/summerwind/h2spec |
| h2t | https://github.com/gildasio/h2t |
| http2fuzz | https://github.com/c0nrad/http2fuzz |
| Arjun | https://github.com/s0md3v/Arjun |
| Corsy | https://github.com/s0md3v/Corsy |
| XSStrike | https://github.com/s0md3v/XSStrike |
| https://github.com/trimstray/nginx-admins-handbook#development |
| Sample ebook generated from NGINX source code. | http://agentzh.org/misc/code/nginx/ |
| Programming in Lua (first edition) | https://www.lua.org/pil/contents.html |
| Scripting Nginx with Lua | http://www.londonlua.org/scripting_nginx_with_lua/ |
| Emiller’s Guide To Nginx Module Development | https://www.evanmiller.org/nginx-modules-guide.html |
| Emiller’s Advanced Topics In Nginx Module Development | http://www.evanmiller.org/nginx-modules-guide-advanced.html |
| NGINX Tutorial: Developing Modules | https://www.airpair.com/nginx/extending-nginx-tutorial |
| An Introduction To OpenResty (nginx + lua) - Part 1 | https://www.openmymind.net/An-Introduction-To-OpenResty-Nginx-Lua/ |
| An Introduction To OpenResty - Part 2 - Concepts | https://www.openmymind.net/An-Introduction-To-OpenResty-Part-2/ |
| An Introduction To OpenResty - Part 3 | https://www.openmymind.net/An-Introduction-To-OpenResty-Part-3/ |
| OpenResty (Nginx) with dynamically generated certificates | https://blog.dutchcoders.io/openresty-with-dynamic-generated-certificates/ |
| Programming OpenResty | https://github.com/openresty/programming-openresty |
| https://github.com/trimstray/nginx-admins-handbook#online--web-tools |
| SSL Server Test by SSL Labs | https://www.ssllabs.com/ssltest/ |
| Test SSL/TLS (PCI DSS, HIPAA and NIST) | https://www.htbridge.com/ssl/ |
| SSL analyzer and certificate checker | https://sslanalyzer.comodoca.com/ |
| Tools for testing SSL configuration | https://decoder.link |
| Test your TLS server configuration (e.g. ciphers) | https://tls.imirhil.fr/ |
| Scan your website for non-secure content | https://www.jitbit.com/sslcheck/ |
| Analyze website security | http://www.ssltools.com |
| TLS Cipher Suite Search | https://ciphersuite.info/ |
| SSL/TLS Capabilities of Your Browser | https://www.ssllabs.com/ssltest/viewMyClient.html |
| SSL-Client Info's | https://suche.org/sslClientInfo |
| Public Diffie-Hellman Parameter Service/Tool | https://2ton.com.au/dhtool/ |
| Analyse the HTTP response headers by Security Headers | https://securityheaders.com/ |
| Analyze your website by Mozilla Observatory | https://observatory.mozilla.org/ |
| CAA Record Helper | https://sslmate.com/caa/ |
| Linting tool that will help you with your site's accessibility, speed, security and more | https://webhint.io/ |
| Service to scan and analyse websites | https://urlscan.io/ |
| Tool from above to either encode or decode a string of text | https://www.url-encode-decode.com/ |
| Online translator for search queries on log data | https://uncoder.io/ |
| Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript | https://regex101.com/ |
| Online tool to learn, build, & test Regular Expressions | https://regexr.com/ |
| Online Regex Tester & Debugger | https://www.regextester.com/ |
| Tool for testing regular expressions directly within an NGINX configuration | https://github.com/nginxinc/NGINX-Demos/tree/master/nginx-regex-tester |
| A web app for encryption, encoding, compression and data analysis | https://gchq.github.io/CyberChef/ |
| Nginx location match tester | https://nginx.viraptor.info/ |
| Nginx location match visible | https://detailyang.github.io/nginx-location-match-visible/ |
| https://github.com/trimstray/nginx-admins-handbook#other-stuff |
| Web technology for developers | https://developer.mozilla.org/en-US/docs/Web |
| Mozilla Web Security | https://infosec.mozilla.org/guidelines/web_security.html |
| Application Security Wiki | https://appsecwiki.com/#/ |
| OWASP ASVS 3.0.1 | https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project |
| OWASP ASVS 3.0.1 Web App | https://github.com/Santandersecurityresearch/asvs |
| OWASP ASVS 4.0 | https://github.com/OWASP/ASVS/tree/master/4.0 |
| OWASP Top 10 Proactive Controls 2018. | https://www.owasp.org/index.php/OWASP_Proactive_Controls |
| OWASP Testing Guide v4 | https://www.owasp.org/index.php/OWASP_Testing_Project |
| OWASP Dev Guide | https://github.com/OWASP/DevGuide |
| Transport Layer Protection Cheat Sheet by OWASP | https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protection_Cheat_Sheet.html |
| OWASP WSTG | https://github.com/OWASP/wstg |
| Security/Server Side TLS by Mozilla | https://wiki.mozilla.org/Security/Server_Side_TLS |
| Applied Crypto Hardening | https://bettercrypto.org/ |
| Browser support tables for modern web technologies | https://caniuse.com/#home |
| Memorable site for testing clients against bad SSL configs | https://badssl.com/ |
| The HTTPS-Only Standard | https://https.cio.gov/ |
| The Web Security Academy | https://portswigger.net/web-security |
| Burp Scanner - Issue Definitions | https://portswigger.net/kb/issues |
| Web application security: what to do when... | https://odino.org/wasec-web-application-security-what-to-do-when-dot-dot-dot/ |
| Transport Layer Security (TLS) Parameters | https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml |
| TLS Redirection (and Virtual Host Confusion) | https://github.com/GrrrDog/TLS-Redirection#technical-details |
| TLS Security 6: Examples of TLS Vulnerabilities and Attacks | https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/ |
| Guidelines for Setting Security Headers | https://www.veracode.com/blog/2014/03/guidelines-for-setting-security-headers |
| Mozilla Guidelines - Web Security | https://infosec.mozilla.org/guidelines/web_security.html |
| Secure your web application with these HTTP headers | https://medium.freecodecamp.org/secure-your-web-application-with-these-http-headers-fd66e0367628 |
| Security HTTP Headers | https://zinoui.com/blog/security-http-headers |
| Analysis of various reverse proxies, cache proxies, load balancers, etc. | https://github.com/GrrrDog/weird_proxies/wiki |
| How HTTPS works ...in a comic! | https://howhttps.works/ |
| Regular-Expressions | https://www.regular-expressions.info/ |
| Regexp Security Cheatsheet | https://github.com/attackercan/REGEXP-SECURITY-CHEATSHEET |
| HTTPS on Stack Overflow: The End of a Long Road | https://nickcraver.com/blog/2017/05/22/https-on-stack-overflow/#the-beginning |
| The Architecture of Open Source Applications - Nginx | https://www.aosabook.org/en/nginx.html |
| BBC Digital Media Distribution: How we improved throughput by 4x | http://www.bbc.co.uk/blogs/internet/entries/17d22fb8-cea2-49d5-be14-86e7a1dcde04 |
| The C10K problem by Dan Kegel | http://www.kegel.com/c10k.html |
| The Secret To 10 Million Concurrent Connections | http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html |
| High Performance Browser Networking | https://hpbn.co/ |
| The System Design Primer | https://github.com/donnemartin/system-design-primer |
| awesome-scalability | https://github.com/binhnguyennus/awesome-scalability |
| Web Architecture 101 | https://engineering.videoblocks.com/web-architecture-101-a3224e126947 |
| Learn where some of the network sysctl variables fit into the Linux/Kernel network flow | https://github.com/leandromoreira/linux-network-performance-parameters |
| jemalloc vs tcmalloc vs dlmalloc | https://suniphrase.wordpress.com/2015/10/27/jemalloc-vs-tcmalloc-vs-dlmalloc/ |
| On the Impact of Memory Allocation on High-Performance Query Processing | https://arxiv.org/pdf/1905.01135.pdf |
| GLB: GitHub’s open source load balancer | https://github.blog/2018-08-08-glb-director-open-source-load-balancer/ |
| https://github.com/trimstray/nginx-admins-handbook#whats-next |
| Table of Contents | https://github.com/trimstray/nginx-admins-handbook#table-of-contents |
| HTTP Basics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HTTP_BASICS.md#http-basics |
| SSL/TLS Basics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/SSL_TLS_BASICS.md#ssltls-basics |
| NGINX Basics | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/NGINX_BASICS.md#nginx-basics |
| Helpers | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/HELPERS.md#helpers |
| Base Rules (16) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#base-rules |
| Debugging (5) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#debugging |
| Performance (13) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#performance |
| Hardening (31) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#hardening |
| Reverse Proxy (8) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#reverse-proxy |
| Load Balancing (2) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#load-balancing |
| Others (4) | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#others |
| Configuration Examples | https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/EXAMPLES.md#configuration-examples |
|
| https://nystudio107.com/blog/stop-using-htaccess-files-no-really |
| best-practices | https://github.com/topics/best-practices |
| cheatsheet | https://github.com/topics/cheatsheet |
| hacks | https://github.com/topics/hacks |
| handbook | https://github.com/topics/handbook |
| http | https://github.com/topics/http |
| https | https://github.com/topics/https |
| nginx | https://github.com/topics/nginx |
| nginx-configuration | https://github.com/topics/nginx-configuration |
| nginx-proxy | https://github.com/topics/nginx-proxy |
| notes | https://github.com/topics/notes |
| openresty | https://github.com/topics/openresty |
| performance | https://github.com/topics/performance |
| reference | https://github.com/topics/reference |
| security | https://github.com/topics/security |
| snippets | https://github.com/topics/snippets |
| ssllabs | https://github.com/topics/ssllabs |
| tengine | https://github.com/topics/tengine |
| Readme | https://github.com/trimstray/nginx-admins-handbook#readme-ov-file |
| MIT license | https://github.com/trimstray/nginx-admins-handbook#MIT-1-ov-file |
| Code of conduct | https://github.com/trimstray/nginx-admins-handbook#coc-ov-file |
| Contributing | https://github.com/trimstray/nginx-admins-handbook#contributing-ov-file |
| Activity | https://github.com/trimstray/nginx-admins-handbook/activity |
| 1.1k forks | https://github.com/trimstray/nginx-admins-handbook/forks |
| Report repository | https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ftrimstray%2Fnginx-admins-handbook&report=trimstray+%28user%29 |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |