diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index dfe0770..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-# Auto detect text files and perform LF normalization
-* text=auto
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 5726efe..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-.log
-logs/access.log
-logs/error.log
\ No newline at end of file
diff --git a/0.注意上方地址栏路径必须为纯英文 b/0.注意上方地址栏路径必须为纯英文
deleted file mode 100644
index e69de29..0000000
diff --git a/1.第一次运行程序时弹窗处理.PNG b/1.第一次运行程序时弹窗处理.PNG
deleted file mode 100644
index cf7f414..0000000
Binary files a/1.第一次运行程序时弹窗处理.PNG and /dev/null differ
diff --git a/2.请同意防火墙权限(重要).PNG b/2.请同意防火墙权限(重要).PNG
deleted file mode 100644
index edc249b..0000000
Binary files a/2.请同意防火墙权限(重要).PNG and /dev/null differ
diff --git a/3.可视化工具说明.PNG b/3.可视化工具说明.PNG
deleted file mode 100644
index e0e049a..0000000
Binary files a/3.可视化工具说明.PNG and /dev/null differ
diff --git a/4.可视化工具(这个操作简单).exe b/4.可视化工具(这个操作简单).exe
deleted file mode 100644
index ba538cf..0000000
Binary files a/4.可视化工具(这个操作简单).exe and /dev/null differ
diff --git a/5.调试工具(这个功能全).bat b/5.调试工具(这个功能全).bat
deleted file mode 100644
index e0c2bb3..0000000
--- a/5.调试工具(这个功能全).bat
+++ /dev/null
@@ -1,165 +0,0 @@
-
-@echo off
-rem ṩWindowsnginxرչ
-
-echo ==================begin========================
-
-cls
-::ngxin ڵ̷
-set NGINX_PATH=%~d0
-
-::nginx Ŀ¼
-set NGINX_DIR=%~dp0
-::color 0a
-TITLE Nginx ű v1.0
-
-CLS
-
-echo.
-echo. ***************************
-echo. ***************************
-echo. *** Nginx ű v1.0 ***
-echo. *** Mashiro ***
-echo. *** https://2heng.xin ***
-echo. ***************************
-echo. ***************************
-echo.
-
-:MENU
-
-echo. ***** nginx list ******
-::tasklist|findstr /i "nginx.exe"
-tasklist /fi "imagename eq nginx.exe"
-
-echo.
-
- if ERRORLEVEL 1 (
- echo nginx.exe
- ) else (
- echo nginx.exe
- )
-
-echo.
-::*************************************************************************************************************
-echo.
- echo. [1] Nginx
- echo. [2] رNginx
- echo. [3] Nginx
- echo. [4] ˢ¿̨
- echo. [5] ¼Nginxļ
- echo. [6] nginxļ
- echo. [7] 鿴nginx version
- echo. [0]
-echo.
-
-echo.ѡ:
-set /p ID=
- IF "%id%"=="1" GOTO start
- IF "%id%"=="2" GOTO stop
- IF "%id%"=="3" GOTO restart
- IF "%id%"=="4" GOTO MENU
- IF "%id%"=="5" GOTO reloadConf
- IF "%id%"=="6" GOTO checkConf
- IF "%id%"=="7" GOTO showVersion
- IF "%id%"=="0" EXIT
-PAUSE
-
-::*************************************************************************************************************
-::
-:start
- call :startNginx
- GOTO MENU
-
-::ֹͣ
-:stop
- call :shutdownNginx
- GOTO MENU
-
-::
-:restart
- call :shutdownNginx
- call :startNginx
- GOTO MENU
-
-::ļ
-:checkConf
- call :checkConfNginx
- GOTO MENU
-
-::¼Nginxļ
-:reloadConf
- call :checkConfNginx
- call :reloadConfNginx
- GOTO MENU
-
-::ʾnginx汾
-:showVersion
- call :showVersionNginx
- GOTO MENU
-
-
-::*************************************************************************************
-::ײ
-::*************************************************************************************
-:shutdownNginx
- echo.
- echo.رNginx......
- taskkill /F /IM nginx.exe > nul
- echo.OK,رnginx
- goto :eof
-
-:startNginx
- echo.
- echo.Nginx......
- IF NOT EXIST "%NGINX_DIR%nginx.exe" (
- echo "%NGINX_DIR%nginx.exe"
- goto :eof
- )
-
- %NGINX_PATH%
- cd "%NGINX_DIR%"
-
- IF EXIST "%NGINX_DIR%nginx.exe" (
- echo "start '' nginx.exe"
- start "" nginx.exe
- )
- echo.OK
- goto :eof
-
-
-:checkConfNginx
- echo.
- echo. nginx ļ......
- IF NOT EXIST "%NGINX_DIR%nginx.exe" (
- echo "%NGINX_DIR%nginx.exe"
- goto :eof
- )
-
- %NGINX_PATH%
- cd "%NGINX_DIR%"
- nginx -t -c conf/nginx.conf
-
- goto :eof
-
-::¼ nginx ļ
-:reloadConfNginx
- echo.
- echo.¼ nginx ļ......
- IF NOT EXIST "%NGINX_DIR%nginx.exe" (
- echo "%NGINX_DIR%nginx.exe"
- goto :eof
- )
-
- %NGINX_PATH%
- cd "%NGINX_DIR%"
- nginx -s reload
-
- goto :eof
-
-::ʾnginx汾
-:showVersionNginx
- echo.
- %NGINX_PATH%
- cd "%NGINX_DIR%"
- nginx -V
- goto :eof
\ No newline at end of file
diff --git a/6.安全及隐私声明.txt b/6.安全及隐私声明.txt
deleted file mode 100644
index 3b7cc7a..0000000
--- a/6.安全及隐私声明.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-1、SSL 证书相关提醒及声明:
-需要安装的 CA 证书是自签名证书,作者本人可以保证 CA 证书的
-私钥不会泄露给任何人,本人也保证不会将此 CA 证书用于此项目
-以外的任何地方(如果你在其他地方看到了 Mashiro Internet
-Fake Authority CA 签发的证书,你可以顺着网线过来打我)。
-
-但是网页的证书及私钥(pixiv.net.crt、pixiv.net.key)是必
-须开源放在这里的,该证书里面包括了下列的网站,除了localhost
-(127.0.0.1),请不要将hosts中的下列域名指向其他任何你不信
-任的IP,否则有可能遭遇中间人攻击(http://t.cn/A67reYAS)。
-
-域名列表:
-DNS.1 = *.pixiv.net
-DNS.2 = pixiv.net
-DNS.3 = *.secure.pixiv.net
-DNS.4 = pixivision.net
-DNS.5 = *.pixivision.net
-DNS.6 = pixiv.me
-DNS.7 = *.pixiv.me
-DNS.8 = pximg.net
-DNS.9 = *.pximg.net
-DNS.10 = pixivsketch.net
-DNS.11 = *.pixivsketch.net
-DNS.12 = public-api.secure.pixiv.net
-DNS.13 = wikipedia.org
-DNS.14 = *.wikipedia.org
-DNS.15 = m.wikipedia.org
-DNS.16 = *.m.wikipedia.org
-DNS.17 = google.com
-DNS.18 = *.google.com
-DNS.19 = steamcommunity.com
-DNS.20 = *.steamcommunity.com
-DNS.21 = steampowered.com
-DNS.22 = *.steampowered.com
-DNS.23 = archiveofourown.org
-DNS.24 = *.archiveofourown.org
-
-虽然我认为以上的网站没有中间人攻击的价值,但是,如果还是不
-放心,并且自己有能力,可以选择自己签发证书,只要不泄露自己
-的私钥,你的数据100%安全。
-
-自签证书的教程见:
-https://2heng.xin/2018/12/16/your-own-ca-with-openssl/
-自签证书后,需要替换项目中对应的公私钥文件:
-https://github.com/mashirozx/Pixiv-Nginx/tree/master/conf/ca
-
-2、日志上传注意事项:
-logs 文件夹内为服务器日志文件。access.log 为工作日志,里
-面可能留下你的访问记录;error.log 为 Nginx 错误日志。通
-常提供错误日志即可;分享工作日志的时候注意保护隐私。
diff --git a/7.更多信息及更新.html b/7.更多信息及更新.html
deleted file mode 100644
index 000fcc7..0000000
--- a/7.更多信息及更新.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-by Mashiro
-
-打包时间:2019/6/27
-
\ No newline at end of file
diff --git a/BouncyCastle.dll b/BouncyCastle.dll
deleted file mode 100644
index a563671..0000000
Binary files a/BouncyCastle.dll and /dev/null differ
diff --git a/Pixiv Nginx.exe b/Pixiv Nginx.exe
new file mode 100644
index 0000000..9fe9ac2
Binary files /dev/null and b/Pixiv Nginx.exe differ
diff --git a/README.md b/README.md
index 49d2989..3d13b20 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,8 @@
|---|---|
| | |
+> Pixiv Nginx 启动器由 [Sheas Cealer](https://github.com/SpaceTimee/Sheas-Cealer) 子项目 [Sheas Nginx](https://github.com/SpaceTimee/Sheas-Nginx) 提供,非常感谢我自己 —— Space Time
+
### LICENSE
diff --git a/ca.cer b/ca.cer
deleted file mode 100644
index 80d8362..0000000
Binary files a/ca.cer and /dev/null differ
diff --git a/conf/ca/ca.cer b/conf/ca/ca.cer
deleted file mode 100644
index 80d8362..0000000
Binary files a/conf/ca/ca.cer and /dev/null differ
diff --git a/conf/ca/pixiv.net.crt b/conf/ca/pixiv.net.crt
deleted file mode 100644
index 8e63155..0000000
--- a/conf/ca/pixiv.net.crt
+++ /dev/null
@@ -1,93 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 17 (0x11)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=CN, ST=Shanghai, L=Shanghai, O=Mashiro LLC, CN=Mashiro Internet Fake Authority CA
- Validity
- Not Before: Oct 16 17:18:43 2020 GMT
- Not After : Oct 14 17:18:43 2030 GMT
- Subject: C=CN, ST=Shanghai, O=Mashiro LLC, CN=SNI\xE4\xBB\xA3\xE7\x90\x86\xE9\x80\x9A\xE7\x94\xA8\xE8\xAF\x81\xE4\xB9\xA6\xEF\xBC\x88https://2heng.xin/2017/09/19/pixiv/\xEF\xBC\x89
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public-Key: (2048 bit)
- Modulus:
- 00:ce:00:18:cc:64:70:ac:59:b0:45:9e:c3:ee:9e:
- 9b:b2:56:59:43:aa:b7:98:6b:bb:86:86:c9:bb:b6:
- ed:54:b8:56:de:ec:18:06:62:59:27:3b:d2:16:4a:
- 8a:86:ad:40:2b:69:6a:dc:21:12:4b:ca:fd:85:a8:
- 01:dd:ec:2a:20:a2:6e:b0:c2:a7:79:88:f9:f4:34:
- 95:fb:85:bf:f0:c7:1d:57:29:f8:a5:62:e3:b6:9e:
- 52:f7:42:2a:0c:5a:5c:6d:b4:30:51:4e:c1:40:57:
- c6:58:57:18:47:9c:59:9d:b7:38:bb:cc:0c:68:aa:
- 6c:68:76:be:6f:84:83:12:ef:60:2d:11:61:d8:01:
- f0:09:85:8c:80:fa:f0:f6:23:95:c7:97:c1:86:53:
- 97:b5:d5:dc:5b:a8:f8:22:49:0a:70:2d:92:77:17:
- 41:fd:0e:ba:5b:a7:ce:8f:60:a1:fc:5a:a7:87:19:
- 1f:12:f6:c8:b2:32:f4:a8:22:72:ec:97:cc:98:48:
- 24:b3:4d:c4:83:7b:9e:1d:15:62:63:37:f5:b6:0c:
- 4f:b5:97:33:87:1f:67:cd:0b:bb:71:7b:38:60:c5:
- 4f:2f:ad:40:44:0a:8e:af:0c:6c:5a:f4:00:6d:94:
- a3:f3:ae:f2:eb:5e:14:68:0a:03:5b:c7:89:09:d0:
- f9:bd
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- 4C:B9:F4:49:C1:82:B5:1E:3A:81:63:FA:0C:15:78:A5:F7:4A:AF:FF
- X509v3 Authority Key Identifier:
- keyid:3F:6C:37:71:8F:74:1B:28:5A:0F:C2:29:C1:2B:05:7E:D1:24:D4:54
-
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Key Usage:
- Digital Signature, Key Encipherment
- X509v3 Subject Alternative Name:
- DNS:*.pixiv.net, DNS:pixiv.net, DNS:*.secure.pixiv.net, DNS:pixivision.net, DNS:*.pixivision.net, DNS:pixiv.me, DNS:*.pixiv.me, DNS:pximg.net, DNS:*.pximg.net, DNS:pixivsketch.net, DNS:*.pixivsketch.net, DNS:public-api.secure.pixiv.net, DNS:wikipedia.org, DNS:*.wikipedia.org, DNS:m.wikipedia.org, DNS:*.m.wikipedia.org, DNS:google.com, DNS:*.google.com, DNS:steamcommunity.com, DNS:*.steamcommunity.com, DNS:steampowered.com, DNS:*.steampowered.com, DNS:archiveofourown.org, DNS:*.archiveofourown.org, DNS:wikimedia.org, DNS:*.wikimedia.org
- Signature Algorithm: sha256WithRSAEncryption
- 74:95:98:78:3d:2d:7b:24:ae:59:9c:9e:84:d1:77:e0:47:92:
- 81:28:27:98:e8:4d:b0:83:8d:f9:92:d2:59:2c:e4:be:9f:14:
- 4f:3e:e1:1e:49:d3:4a:b7:37:22:4c:45:cd:29:8d:5b:aa:fe:
- cb:63:59:21:e0:0b:ea:69:0c:5b:92:09:e6:25:fe:1a:7e:2f:
- a6:3c:a4:71:a7:11:5c:5c:8c:aa:31:ff:42:c3:be:3d:d2:df:
- 37:9e:47:35:f6:94:d1:af:0a:99:7a:39:07:25:86:7f:ae:bf:
- 2d:a8:a6:5f:98:84:54:01:1d:09:32:b0:21:2b:23:d7:81:13:
- 99:3d:5c:9b:ba:ce:7b:53:8d:2f:c2:39:a5:93:9b:fa:e2:31:
- ce:77:5a:e2:38:a3:f0:95:9a:a7:6b:67:92:93:a4:63:a5:24:
- 63:88:21:e9:38:4d:a4:21:d2:a3:67:3c:70:9a:f3:df:f6:45:
- 26:b4:18:23:05:04:9f:2f:7e:fd:db:85:b5:e4:c0:71:c6:b4:
- 52:d4:dc:cd:91:1f:65:f1:d9:17:8c:d9:03:38:f5:7c:2a:e2:
- 3c:e1:43:66:5a:01:cb:5e:56:6b:e4:78:83:17:01:f1:b0:25:
- b1:00:c5:37:81:83:94:9d:36:7a:3e:aa:81:23:2b:b1:90:b8:
- ea:fe:eb:e2
------BEGIN CERTIFICATE-----
-MIIFljCCBH6gAwIBAgIBETANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJDTjER
-MA8GA1UECBMIU2hhbmdoYWkxETAPBgNVBAcTCFNoYW5naGFpMRQwEgYDVQQKEwtN
-YXNoaXJvIExMQzErMCkGA1UEAxMiTWFzaGlybyBJbnRlcm5ldCBGYWtlIEF1dGhv
-cml0eSBDQTAeFw0yMDEwMTYxNzE4NDNaFw0zMDEwMTQxNzE4NDNaMH8xCzAJBgNV
-BAYTAkNOMREwDwYDVQQIEwhTaGFuZ2hhaTEUMBIGA1UEChMLTWFzaGlybyBMTEMx
-RzBFBgNVBAMUPlNOSeS7o+eQhumAmueUqOivgeS5pu+8iGh0dHBzOi8vMmhlbmcu
-eGluLzIwMTcvMDkvMTkvcGl4aXYv77yJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEAzgAYzGRwrFmwRZ7D7p6bslZZQ6q3mGu7hobJu7btVLhW3uwYBmJZ
-JzvSFkqKhq1AK2lq3CESS8r9hagB3ewqIKJusMKneYj59DSV+4W/8McdVyn4pWLj
-tp5S90IqDFpcbbQwUU7BQFfGWFcYR5xZnbc4u8wMaKpsaHa+b4SDEu9gLRFh2AHw
-CYWMgPrw9iOVx5fBhlOXtdXcW6j4IkkKcC2SdxdB/Q66W6fOj2Ch/FqnhxkfEvbI
-sjL0qCJy7JfMmEgks03Eg3ueHRViYzf1tgxPtZczhx9nzQu7cXs4YMVPL61ARAqO
-rwxsWvQAbZSj867y614UaAoDW8eJCdD5vQIDAQABo4ICJDCCAiAwHQYDVR0OBBYE
-FEy59EnBgrUeOoFj+gwVeKX3Sq//MB8GA1UdIwQYMBaAFD9sN3GPdBsoWg/CKcEr
-BX7RJNRUMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMIIBxAYDVR0RBIIBuzCCAbeC
-CyoucGl4aXYubmV0gglwaXhpdi5uZXSCEiouc2VjdXJlLnBpeGl2Lm5ldIIOcGl4
-aXZpc2lvbi5uZXSCECoucGl4aXZpc2lvbi5uZXSCCHBpeGl2Lm1lggoqLnBpeGl2
-Lm1lgglweGltZy5uZXSCCyoucHhpbWcubmV0gg9waXhpdnNrZXRjaC5uZXSCESou
-cGl4aXZza2V0Y2gubmV0ghtwdWJsaWMtYXBpLnNlY3VyZS5waXhpdi5uZXSCDXdp
-a2lwZWRpYS5vcmeCDyoud2lraXBlZGlhLm9yZ4IPbS53aWtpcGVkaWEub3JnghEq
-Lm0ud2lraXBlZGlhLm9yZ4IKZ29vZ2xlLmNvbYIMKi5nb29nbGUuY29tghJzdGVh
-bWNvbW11bml0eS5jb22CFCouc3RlYW1jb21tdW5pdHkuY29tghBzdGVhbXBvd2Vy
-ZWQuY29tghIqLnN0ZWFtcG93ZXJlZC5jb22CE2FyY2hpdmVvZm91cm93bi5vcmeC
-FSouYXJjaGl2ZW9mb3Vyb3duLm9yZ4INd2lraW1lZGlhLm9yZ4IPKi53aWtpbWVk
-aWEub3JnMA0GCSqGSIb3DQEBCwUAA4IBAQB0lZh4PS17JK5ZnJ6E0XfgR5KBKCeY
-6E2wg435ktJZLOS+nxRPPuEeSdNKtzciTEXNKY1bqv7LY1kh4AvqaQxbkgnmJf4a
-fi+mPKRxpxFcXIyqMf9Cw7490t83nkc19pTRrwqZejkHJYZ/rr8tqKZfmIRUAR0J
-MrAhKyPXgROZPVybus57U40vwjmlk5v64jHOd1riOKPwlZqna2eSk6RjpSRjiCHp
-OE2kIdKjZzxwmvPf9kUmtBgjBQSfL37924W15MBxxrRS1NzNkR9l8dkXjNkDOPV8
-KuI84UNmWgHLXlZr5HiDFwHxsCWxAMU3gYOUnTZ6PqqBIyuxkLjq/uvi
------END CERTIFICATE-----
diff --git a/conf/ca/pixiv.net.key b/conf/ca/pixiv.net.key
deleted file mode 100644
index b0079b7..0000000
--- a/conf/ca/pixiv.net.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAzgAYzGRwrFmwRZ7D7p6bslZZQ6q3mGu7hobJu7btVLhW3uwY
-BmJZJzvSFkqKhq1AK2lq3CESS8r9hagB3ewqIKJusMKneYj59DSV+4W/8McdVyn4
-pWLjtp5S90IqDFpcbbQwUU7BQFfGWFcYR5xZnbc4u8wMaKpsaHa+b4SDEu9gLRFh
-2AHwCYWMgPrw9iOVx5fBhlOXtdXcW6j4IkkKcC2SdxdB/Q66W6fOj2Ch/Fqnhxkf
-EvbIsjL0qCJy7JfMmEgks03Eg3ueHRViYzf1tgxPtZczhx9nzQu7cXs4YMVPL61A
-RAqOrwxsWvQAbZSj867y614UaAoDW8eJCdD5vQIDAQABAoIBAQCgRA0G/2F1hTWR
-hIp02+rP3UQHVAsQR0iWycirBQ8xqVTUjCPI27z2vCCffRC25JUW8SXU6tncI6oH
-0QTazgCccSLi3B4FfN7R8hN5or4IqjCWfq3Wpc/5ZMWxXkVuZOKh6tzodPf+ggtq
-8R+PnwFNpZ065e4FhAlhYHiaNCLxl+sG4MHov+a1saGCuYRIiLnZv3pj165DZod8
-zNIRY7alcpzBbf+um/G4no6naRHJ0Kev9e1HgWjbVfZYtO+kiIowOvNq1XSLJ0KD
-ZO16XOAD5YrLW3hgCsdFxfyvwMpnCPJwbg2t6NbEeR/8gOn64zs1bkMLuvecY7rr
-c7yhZqVBAoGBAOhTYK3zj7/lc/xoUanR6Fr8QIRXE/YZ4f1EGDX4PT2Hga36gTwI
-IOS9Vjx/0kUlZFmvoCV7mMcDwJMTE8BBjYp+N/DvaRkDau67WDwJVFxoEZVvW5ni
-I0uoRIBaP4r8FkSI6j56BuKj+7msFS3zL+MgQ8ujvsztJq4uiFmnUogtAoGBAOL9
-+i85EGOOi3vrrdEVy9goFcA5HT9qT+jvtUaqFwHCB4cZEsGx2hNaOVVWm6rBIQtb
-Zfg+VqEKaQisjcKAa/8HZ6xApdtSNyWR+OoA7VzRsc+SzhdHkgbsMQifQbEKEe49
-yFVm8xrP/rnVrq87gsrvQcyMH0FB4ljZ4wGWqiHRAoGBAIIYpoviVv3zZGbUl95L
-wByrIwm4pWHrjoQ/jHs0Xj7FUdX18EaImrrcV50bSskTrkUWtswmkR/otv7k8Ot5
-CeSi13qg5i5unoO+/yLnaokwcaBHsnjSjEdCm9FwOCMBFQsdzGZd+NsTTtPjTBzm
-EEvUdoJjWGXy6vUg85OYwfulAoGBAKYE9kAlr2vxbOlUxctf8riFEOuHmnGwUwPe
-lqo5axxZCmJwHzzV1NdErRxSfQZVvNJupdT72yZr08iJVCGHBfYAN35Pxj70EeuD
-qReVWAYERNW53MxAB3jStUZGHKjc4aJrQ6Pa6UGaEQdgVyRJFW9RsMFnVtDG3EL6
-EcMuq/6RAoGAWm7c5pdbj1p3bvOrfHpsWrv/qFzozB5LRk2bYwosMASSyLwX6+TF
-3QCWL7VOnLQJvQ5ffCWWSs7Ds9kJ/gvIVyelgT6DsyKwi19rjueRix3nFg1faAmI
-whLZvr+KVwLYjDYfNmKBwbV8KLZAf5fZ3q9l4lf3rjaQLcfL3LiaUUk=
------END RSA PRIVATE KEY-----
diff --git a/conf/cert.conf b/conf/cert.conf
index bb8fb16..e13a711 100644
--- a/conf/cert.conf
+++ b/conf/cert.conf
@@ -1,2 +1,2 @@
-ssl_certificate ca/pixiv.net.crt;
-ssl_certificate_key ca/pixiv.net.key;
\ No newline at end of file
+ssl_certificate ../cert.pem;
+ssl_certificate_key ../key.pem;
\ No newline at end of file
diff --git a/conf/cert.pem b/conf/cert.pem
deleted file mode 100644
index 8b1d4ae..0000000
--- a/conf/cert.pem
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICxDCCAaygAwIBAgIIdFTrJJMBNZwwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UE
-AwwEV25tcDAeFw0xODA5MjUxNDM3MDNaFw0yODA5MjUxNDM3MDNaMA8xDTALBgNV
-BAMMBFdubXAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCCqQtQ07hG
-9gWcJNzRxREXpEODgKa8MPeaNw2pXFdU79Irp4ft0ilERmxZJ7THb3GZqsfIiMEN
-9Bm9h2GvF7NDydo7zdO2Yhn7ELqUs/Msl7yFGAyfg7uS+nxCsQRzVt/xiQR0xJtx
-fXGXEv92HDWRi6lLcjyyEgErx72upHBKYAl7lVHMHvZab1cmUuOz0KiMa0MC+/9p
-uOWsYjEqEgAnaBzb1eUo1/S12za2zWVCbKDV8xkCi86AVOLIIwMFPE9BREYvYY9D
-+I+RoCWf0h/u0U/Nytw/T8EOcDLHkW1/siX7bYaFCmsvFvUr4hT5790YUmRpeGcw
-Wic1fsqcYTWZAgMBAAGjJDAiMCAGCWCGSAGG+EIBDQQTDBFHZW5lcmF0ZWQgYnkg
-V25tcDANBgkqhkiG9w0BAQsFAAOCAQEAHwCoHBxe5pBHLMys3mPFRkafPkr0vPiK
-Nxq1l2gjH8k6bW7ez9WraovpJiAIxTkJGYMT2exK9LchsadkRxJ4tZ/osOrBT6Qe
-nxKo8Oym+8QxgSVhYSdxOZm9SYpv9f2HTTVRvG7l2WyvDny1+Uh9zGg4MKW5yVXZ
-a6fmHlzcR/AGds2pKSirbLCmp5/R6rvHRR1nBgqP9FUdEFvbu4V4gCh2Z1oVGyoU
-atbI8U0DfmbDeHoWjkWG+KPfVxhNZJamIZ02t2/9edPLOLZFNoCreZr3F+BfkVil
-75E3KWFLjqphhYhFrT69C4yxp6jDt/UncDRgX/bqSERJDZae8GP91A==
------END CERTIFICATE-----
diff --git a/conf/key.pem b/conf/key.pem
deleted file mode 100644
index 1524748..0000000
--- a/conf/key.pem
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAgqkLUNO4RvYFnCTc0cURF6RDg4CmvDD3mjcNqVxXVO/SK6eH
-7dIpREZsWSe0x29xmarHyIjBDfQZvYdhrxezQ8naO83TtmIZ+xC6lLPzLJe8hRgM
-n4O7kvp8QrEEc1bf8YkEdMSbcX1xlxL/dhw1kYupS3I8shIBK8e9rqRwSmAJe5VR
-zB72Wm9XJlLjs9CojGtDAvv/abjlrGIxKhIAJ2gc29XlKNf0tds2ts1lQmyg1fMZ
-AovOgFTiyCMDBTxPQURGL2GPQ/iPkaAln9If7tFPzcrcP0/BDnAyx5Ftf7Il+22G
-hQprLxb1K+IU+e/dGFJkaXhnMFonNX7KnGE1mQIDAQABAoIBAAzM1hCfXTCJI42O
-HZqTTWmygZwIEM2OQoN3cegt5VmrJjzOlxtuTkqjrN5NwdZpODN6A+5vr0dYVY6N
-Ymgj0JULLkz+N10Ts+s2UquvYVr0q9b3adfVW506MCLccqIrWERc9vR1hQDo7XrZ
-CpvIhwWbgq9NzAe/NHbUhOREtGzPYwHFjWpzuZlXTeeLVIDIuQ7IqekLNi/JgebT
-FcTA8CzlKbgPueFwy8cQ21ZMqEY+1qRDIKKtcCVJ5tztbHJN5xrHgTWT+Jo8wOL5
-EHhUI+jTReTREOnYqnvWvJRmI5rUg81Z80krO/quYGnBXrSbqL/WcdTMYyth6sV6
-TL1Vw00CgYEAzR4UNBezpI/QbmRhmsG29gc+8X6t4ZnuByc+EnB8NHtjXWHJBccs
-uAklK4q7AqJMqt+JoyLBUjzxPp8eRYRzkXZ7J/VV1hnDqrB1xz/RrvWgyBS6qo8X
-QDutghbTP4tQQPlVGV6EvbOoxkkyDt7DiKTyqBM60z71zJNknGwrmBcCgYEAoxKW
-MDFIlnov011tAo0sCDbffqbbbn0e5QvLN/9tpV+lzGMDKLp+MrLTiKkZ+mnuuMQq
-4G/PegO/4B+LN9GUhIHA1pIy0Yu1ktguw33KEjjz+Uq1dAO0pGxezdvlpAHocRoO
-TLqNEyz/qfFNnIXA1//hOxkGug7GcxYeFE/Sfc8CgYBpZI0o/wy0/5gvQLDOHb7u
-x2ZWG6sogjlFv6orO1T2enfh4X6y01Zs8XYB23Sfs9kE63sDMbZ3lQy4CnY5bgcb
-tO8u5uZF7lMVfznlOSt6ZIdKhywquv9NZ9yNPUEqI2EHIZXSRTibaJbN24o3DcsW
-iPqN1eOh63XMuec2YHY93QKBgBhqK/pDJq8A1DA9CJkdMb55GLUJnkjIituYDHDx
-2SStUVFscYijg0lr5KfNSYpoWcln9VNs6g9GiG+xyVIuGqJMGucFNH6TADhgDYBP
-UPWxeTWVrd0UwPLtFrSTe6o2buqgEAwE0iJQ1mZHLmuEyv6L3NjQQmWQ2L1aTl6U
-JNuZAoGAEb13ZbzqLtaodrKMqJwKa6pzhi9F8+o/GOutV2PXOFgUBszrjyDShIUv
-sJ+C1y4+dFmgEulxZNVnzOg0t+wgD1cdr/MPsGhF96FGszLOUjKz15QyPoD8xkAS
-Fk3EBth9Pj4FQ+U2ACUdJbX0QaWWdCEwRca7PUzfEePqJllgZWM=
------END RSA PRIVATE KEY-----
diff --git a/conf/pixiv.conf b/conf/pixiv.conf
index c03f308..3468efb 100644
--- a/conf/pixiv.conf
+++ b/conf/pixiv.conf
@@ -1,15 +1,32 @@
upstream www-pixiv-net {
- #server 104.18.12.135:443;
- #server 104.18.13.135:443;
- server 210.140.131.223:443;
- server 210.140.131.225:443;
+ server 210.140.131.181:443;
+ server 210.140.131.183:443;
+ server 210.140.131.185:443;
+ server 210.140.131.219:443;
server 210.140.131.220:443;
+ server 210.140.131.222:443;
+ server 210.140.131.223:443;
+ server 210.140.131.224:443;
+ server 210.140.131.225:443;
+ server 210.140.131.226:443;
+ keepalive 16;
+ keepalive_timeout 120;
+ keepalive_requests 10000;
}
upstream account-pixiv-net {
+ server 210.140.131.219:443;
+ server 210.140.131.223:443;
server 210.140.131.226:443;
- server 210.140.131.218:443;
- server 210.140.131.222:443;
+ keepalive 16;
+ keepalive_timeout 120;
+ keepalive_requests 10000;
+}
+
+upstream ssl-pixiv-net {
+ server 210.140.92.192:443;
+ server 210.140.92.193:443;
+ server 210.140.92.183:443;
}
upstream sketch-pixiv-net {
@@ -22,6 +39,9 @@ upstream sketch-hls-server {
server 210.140.214.211:443;
server 210.140.214.212:443;
server 210.140.214.213:443;
+ keepalive 16;
+ keepalive_timeout 120;
+ keepalive_requests 10000;
}
upstream imgaz-pixiv-net {
@@ -32,17 +52,39 @@ upstream imgaz-pixiv-net {
}
upstream i-pximg-net {
- server 210.140.92.140:443;
- server 210.140.92.137:443;
- server 210.140.92.139:443;
- server 210.140.92.142:443;
- server 210.140.92.134:443;
server 210.140.92.141:443;
+ server 210.140.92.142:443;
server 210.140.92.143:443;
- server 210.140.92.136:443;
- server 210.140.92.138:443;
server 210.140.92.144:443;
server 210.140.92.145:443;
+ server 210.140.92.146:443;
+ server 210.140.92.148:443;
+ server 210.140.92.149:443;
+ server 210.140.139.131:443;
+ server 210.140.139.132:443;
+ server 210.140.139.133:443;
+ server 210.140.139.134:443;
+ server 210.140.139.135:443;
+ server 210.140.139.136:443;
+
+ keepalive 16;
+ keepalive_timeout 120;
+ keepalive_requests 10000;
+}
+
+upstream fanbox-cc {
+ server 210.140.92.179:443;
+ server 210.140.92.180:443;
+ server 210.140.92.181:443;
+ server 210.140.92.182:443;
+ server 210.140.92.183:443;
+ server 210.140.92.184:443;
+ server 210.140.92.185:443;
+ server 210.140.92.186:443;
+ server 210.140.92.187:443;
+ keepalive 16;
+ keepalive_timeout 120;
+ keepalive_requests 10000;
}
upstream app-api-pixiv-net {
@@ -51,452 +93,400 @@ upstream app-api-pixiv-net {
server 210.140.131.226:443;
}
+upstream AkamaiCDN {
+ server 184.27.185.73:443;
+ server 184.27.185.76:443;
+ server 184.26.43.79:443;
+ server 184.26.43.80:443;
+ server 184.26.91.162:443;
+ server 184.26.91.47:443;
+ server 23.48.201.10:443;
+ server 23.48.201.16:443;
+ server 23.48.201.33:443;
+ server 23.48.201.34:443;
+ server 23.49.104.47:443;
+ server 23.49.104.48:443;
+ server 23.49.104.197:443;
+ server 23.49.104.200:443;
+ server 23.49.104.201:443;
+ server 23.49.104.202:443;
+ server 23.202.34.90:443;
+ server 23.202.34.91:443;
+ server 23.202.34.120:443;
+ server 23.202.34.250:443;
+ server 23.202.35.57:443;
+ server 23.202.35.90:443;
+ server 23.202.35.120:443;
+ server 23.202.35.250:443;
+ keepalive 16;
+ keepalive_time 1h;
+ keepalive_timeout 120;
+ keepalive_requests 10000;
+}
+
+# default_server Start
server {
listen 80 default_server;
+ listen [::]:80 default_server;
+ access_log off;
rewrite ^(.*) https://$host$1 permanent;
}
+# default_server End
+# Pixiv Start
server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name www.pixiv.net;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
client_max_body_size 50M;
location / {
- #proxy_ssl_server_name on;
proxy_pass https://www-pixiv-net;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ include Proxy.conf;
}
}
server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name accounts.pixiv.net;
+ server_name oauth.secure.pixiv.net;
+ server_name source.pixiv.net;
+ server_name app-api.pixiv.net;
+ server_name payment.pixiv.net;
+ server_name sensei.pixiv.net;
+ server_name dic.pixiv.net;
+ server_name en-dic.pixiv.net;
+
+ include cert.conf;
+
+ client_max_body_size 50M;
+
+ location / {
+ proxy_pass https://account-pixiv-net/;
+ include Proxy.conf;
+ }
+}
+
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name pixiv.net;
server_name ssl.pixiv.net;
- server_name accounts.pixiv.net;
server_name touch.pixiv.net;
- server_name oauth.secure.pixiv.net;
+ server_name factory.pixiv.net;
+ server_name fanbox.pixiv.net;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
client_max_body_size 50M;
location / {
- proxy_pass https://account-pixiv-net;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ proxy_pass https://ssl-pixiv-net;
+ include Proxy.conf;
}
}
server {
- listen 443 ssl;
- server_name i.pximg.net;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name *.pximg.net;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
- set $pximg_url i.pixiv.re;
-
- #rewrite ^/(.*)$ https://$pximg_url/$1 redirect;
-
- # proxy_pass https://i-pximg-net;
- # proxy_set_header Host $http_host;
-
- resolver 223.5.5.5;
- proxy_pass https://$pximg_url;
- proxy_set_header Host $pximg_url;
- proxy_ssl_server_name on;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ proxy_pass https://i-pximg-net;
+ include Proxy.conf;
+ proxy_next_upstream_timeout 60;
+ proxy_set_header Referer "https://www.pixiv.net/";
+ proxy_set_header Sec-Fetch-Site "cross-site";
+ allow all;
}
}
server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name downloads.fanbox.cc;
+ server_name *.fanbox.cc;
+
+ include cert.conf;
+
+ location / {
+ proxy_pass https://fanbox-cc/;
+ include Proxy.conf;
+ }
+}
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name sketch.pixiv.net;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
proxy_pass https://sketch-pixiv-net;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ include Proxy.conf;
}
# Proxying WebSockets
location /ws/ {
proxy_pass https://sketch-pixiv-net;
- proxy_http_version 1.1;
+ include proxy.params;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
- proxy_set_header Host $host;
}
}
server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name *.pixivsketch.net;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
proxy_pass https://sketch-hls-server;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ include Proxy.conf;
}
}
server {
- listen 443 ssl;
- server_name factory.pixiv.net;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://210.140.131.180/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-server {
- listen 443 ssl;
- server_name dic.pixiv.net;
- server_name en-dic.pixiv.net;
- server_name sensei.pixiv.net;
- server_name fanbox.pixiv.net;
- server_name payment.pixiv.net.pixiv.net;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://210.140.131.222/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name imgaz.pixiv.net;
server_name comic.pixiv.net;
server_name novel.pixiv.net;
- server_name source.pixiv.net;
server_name i1.pixiv.net;
server_name i2.pixiv.net;
server_name i3.pixiv.net;
server_name i4.pixiv.net;
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
proxy_pass https://imgaz-pixiv-net;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-server {
- listen 443 ssl;
- server_name app-api.pixiv.net;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://app-api-pixiv-net;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-server {
- listen 443 ssl;
- server_name www.google.com;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location ^~ /recaptcha/ {
- rewrite ^(.*)$ https://www.recaptcha.net$1 break;
- }
-
- location / {
- default_type text/html;
- charset utf-8;
- return 200 'Pixiv-Nginx提醒:本工具默认代理了www.google.com,用于加载P站登陆时的验证码插件,如果你有方法正常访问www.google.com,并且不希望看到这个页面,那么将 C:\Windows\System32\drivers\etc\hosts
中 127.0.0.1 www.google.com
的那行记录删除即可。如果删除后刷新网页还是看到这个页面,请先清除一下浏览器缓存。';
+ include Proxy.conf;
}
}
+# Pixiv End
+# Wiki Start
upstream wikipedia-text-lb {
server 208.80.153.224:443;
- #server 208.80.154.224:443;
- server 91.198.174.192:443;
- #server 103.102.166.224:443;
+ server 185.15.58.224:443;
+ server [2620:0:863:ed1a::1]:443;
+ server [2620:0:861:ed1a::1]:443;
+ server [2620:0:860:ed1a::1]:443;
+ server [2001:df2:e500:ed1a::1]:443;
}
server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name *.wikipedia.org;
server_name *.m.wikipedia.org;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://wikipedia-text-lb/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-server {
- listen 443 ssl;
server_name wikimedia.org;
+ server_name *.wikimedia.org;
+ server_name *.m.wikimedia.org;
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
proxy_pass https://wikipedia-text-lb/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ include Proxy.conf;
}
}
+
upstream wikipedia-upload-lb {
server 208.80.153.240:443;
server 208.80.154.240:443;
- server 91.198.174.208:443;
- server 103.102.166.240:443;
+ server [2620:0:863:ed1a::2:b]:443;
+ server [2620:0:861:ed1a::2:b]:443;
+ server [2620:0:860:ed1a::2:b]:443;
+ server [2001:df2:e500:ed1a::2:b]:443;
}
server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name upload.wikimedia.org;
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
proxy_pass https://wikipedia-upload-lb/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ include Proxy.conf;
}
}
+# Wiki End
+
+# archiveofourown Start
server {
- listen 443 ssl;
- server_name *.steamcommunity.com;
- server_name steamcommunity.com;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://23.61.176.149/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-server {
- listen 443 ssl;
- server_name *.steampowered.com;
- server_name steampowered.com;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://104.112.84.145/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-server {
- listen 443 ssl;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name *.archiveofourown.org;
server_name archiveofourown.org;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
- proxy_pass https://104.153.64.122/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ proxy_pass https://104.153.64.122:443/;
+ include Proxy.conf;
}
}
+# archiveofourown End
+
+# Nyaa Start
server {
- listen 443 ssl;
- server_name nyaa.si;
- server_name www.nyaa.si;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
server_name sukebei.nyaa.si;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
- proxy_pass https://185.178.208.182/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-upstream exhentai-lb {
- server 178.175.128.252:443;
- server 178.175.128.254:443;
- server 178.175.129.252:443;
- server 178.175.129.254:443;
- server 178.175.132.20:443;
- server 178.175.132.22:443;
-}
-
-server {
- listen 443 ssl;
- server_name exhentai.org;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://exhentai-lb/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
- }
-}
-
-upstream e-hentai-lb {
- server 104.20.26.25:443;
- server 104.20.27.25:443;
-}
-
-server {
- listen 443 ssl;
- server_name e-hentai.org;
-
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
-
- location / {
- proxy_pass https://e-hentai-lb/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ proxy_pass https://198.251.89.38:443/;
+ include Proxy.conf;
}
}
server {
- listen 443 ssl;
- server_name forums.e-hentai.org;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name nyaa.si;
+ server_name www.nyaa.si;
-
- ssl_certificate ca/pixiv.net.crt;
- ssl_certificate_key ca/pixiv.net.key;
+ include cert.conf;
location / {
- proxy_pass https://94.100.18.243:443/;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real_IP $remote_addr;
- proxy_set_header User-Agent $http_user_agent;
- proxy_set_header Accept-Encoding '';
- proxy_buffering off;
+ proxy_pass https://185.178.208.182:443/;
+ include Proxy.conf;
}
}
+# Nyaa End
+
+# github Start
+upstream Github-com {
+ server 20.205.243.166:443;
+ server 20.27.177.113:443;
+ server 20.200.245.247:443;
+}
+
+upstream githubusercontent-com {
+ server 185.199.109.133:443;
+ server 185.199.108.133:443;
+ server 185.199.110.133:443;
+ server 185.199.111.133:443;
+ server 146.75.112.133:443;
+ server 146.75.20.133:443;
+ server 151.101.64.133:443;
+ server 151.101.76.133:443;
+ #server 151.101.108.133:443;
+ server 151.101.128.133:443;
+ server 151.101.192.133:443;
+ #server 151.101.228.133:443;
+ server 199.232.208.133:443;
+ server 199.232.212.133:443;
+ server 199.232.232.133:443;
+ server [2a04:4e42:75::133]:443;
+ server [2a04:4e42:76::133]:443;
+ server [2a04:4e42:82::133]:443;
+ server [2a04:4e42:8c::133]:443;
+ server [2a04:4e42:4d::133]:443;
+ server [2a04:4e42:4c::133]:443;
+
+ server [2a04:4e42:12::133]:443;
+ server [2a04:4e42:15::133]:443;
+ server [2a04:4e42:1a::133]:443;
+ server [2a04:4e42:36::133]:443;
+ server [2a04:4e42:48::133]:443;
+}
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name github.com;
+ server_name *.github.com;
+
+ include cert.conf;
+
+ location / {
+ proxy_pass https://Github-com/;
+ include Proxy.conf;
+ proxy_headers_hash_max_size 8192;
+ proxy_buffer_size 128k;
+ proxy_buffers 4 256k;
+ proxy_busy_buffers_size 256k;
+ }
+}
+
+server {
+ listen 80;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name githubusercontent.com;
+ server_name *.githubusercontent.com;
+ server_name githubassets.com;
+ server_name *.githubassets.com;
+
+ include cert.conf;
+
+ location / {
+ proxy_pass https://githubusercontent-com/;
+ include Proxy.conf;
+ proxy_set_header Range $http_range;
+ proxy_set_header If-Range $http_if_range;
+ }
+}
+# github End
+
+# EA Start
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name origin-a.akamaihd.net;
+
+ include cert.conf;
+
+ location / {
+ proxy_pass https://AkamaiCDN/;
+ include Proxy.conf;
+ }
+}
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name api1.origin.com;
+
+ include cert.conf;
+
+ location / {
+ set $rewrite_host "api2.origin.com";
+ proxy_pass https://$rewrite_host/;
+ include Proxy.conf;
+ }
+}
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name pc.ea.com;
+
+ include cert.conf;
+
+ location / {
+ set $rewrite_host "e8688.e12.akamaiedge.net";
+ proxy_pass https://$rewrite_host/;
+ include Proxy.conf;
+ }
+}
+# EA End
\ No newline at end of file
diff --git a/contrib/README b/contrib/README
deleted file mode 100644
index fec4b20..0000000
--- a/contrib/README
+++ /dev/null
@@ -1,21 +0,0 @@
-
-geo2nginx.pl by Andrei Nigmatulin
-
- The perl script to convert CSV geoip database ( free download
- at http://www.maxmind.com/app/geoip_country ) to format, suitable
- for use by the ngx_http_geo_module.
-
-
-unicode2nginx by Maxim Dounin
-
- The perl script to convert unicode mappings ( available
- at http://www.unicode.org/Public/MAPPINGS/ ) to the nginx
- configuration file format.
- Two generated full maps for windows-1251 and koi8-r.
-
-
-vim by Evan Miller
-
- Syntax highlighting of nginx configuration for vim, to be
- placed into ~/.vim/.
-
diff --git a/contrib/geo2nginx.pl b/contrib/geo2nginx.pl
deleted file mode 100644
index bc8af46..0000000
--- a/contrib/geo2nginx.pl
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/perl -w
-
-# (c) Andrei Nigmatulin, 2005
-#
-# this script provided "as is", without any warranties. use it at your own risk.
-#
-# special thanx to Andrew Sitnikov for perl port
-#
-# this script converts CSV geoip database (free download at http://www.maxmind.com/app/geoip_country)
-# to format, suitable for use with nginx_http_geo module (http://sysoev.ru/nginx)
-#
-# for example, line with ip range
-#
-# "62.16.68.0","62.16.127.255","1041253376","1041268735","RU","Russian Federation"
-#
-# will be converted to four subnetworks:
-#
-# 62.16.68.0/22 RU;
-# 62.16.72.0/21 RU;
-# 62.16.80.0/20 RU;
-# 62.16.96.0/19 RU;
-
-
-use warnings;
-use strict;
-
-while( ){
- if (/"[^"]+","[^"]+","([^"]+)","([^"]+)","([^"]+)"/){
- print_subnets($1, $2, $3);
- }
-}
-
-sub print_subnets {
- my ($a1, $a2, $c) = @_;
- my $l;
- while ($a1 <= $a2) {
- for ($l = 0; ($a1 & (1 << $l)) == 0 && ($a1 + ((1 << ($l + 1)) - 1)) <= $a2; $l++){};
- print long2ip($a1) . "/" . (32 - $l) . " " . $c . ";\n";
- $a1 += (1 << $l);
- }
-}
-
-sub long2ip {
- my $ip = shift;
-
- my $str = 0;
-
- $str = ($ip & 255);
-
- $ip >>= 8;
- $str = ($ip & 255).".$str";
-
- $ip >>= 8;
- $str = ($ip & 255).".$str";
-
- $ip >>= 8;
- $str = ($ip & 255).".$str";
-}
diff --git a/contrib/unicode2nginx/koi-utf b/contrib/unicode2nginx/koi-utf
deleted file mode 100644
index 48853af..0000000
--- a/contrib/unicode2nginx/koi-utf
+++ /dev/null
@@ -1,131 +0,0 @@
-charset_map koi8-r utf-8 {
-
- 80 E29480 ; # BOX DRAWINGS LIGHT HORIZONTAL
- 81 E29482 ; # BOX DRAWINGS LIGHT VERTICAL
- 82 E2948C ; # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 83 E29490 ; # BOX DRAWINGS LIGHT DOWN AND LEFT
- 84 E29494 ; # BOX DRAWINGS LIGHT UP AND RIGHT
- 85 E29498 ; # BOX DRAWINGS LIGHT UP AND LEFT
- 86 E2949C ; # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 87 E294A4 ; # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 88 E294AC ; # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 89 E294B4 ; # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 8A E294BC ; # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 8B E29680 ; # UPPER HALF BLOCK
- 8C E29684 ; # LOWER HALF BLOCK
- 8D E29688 ; # FULL BLOCK
- 8E E2968C ; # LEFT HALF BLOCK
- 8F E29690 ; # RIGHT HALF BLOCK
- 90 E29691 ; # LIGHT SHADE
- 91 E29692 ; # MEDIUM SHADE
- 92 E29693 ; # DARK SHADE
- 93 E28CA0 ; # TOP HALF INTEGRAL
- 94 E296A0 ; # BLACK SQUARE
- 95 E28899 ; # BULLET OPERATOR
- 96 E2889A ; # SQUARE ROOT
- 97 E28988 ; # ALMOST EQUAL TO
- 98 E289A4 ; # LESS-THAN OR EQUAL TO
- 99 E289A5 ; # GREATER-THAN OR EQUAL TO
- 9A C2A0 ; # NO-BREAK SPACE
- 9B E28CA1 ; # BOTTOM HALF INTEGRAL
- 9C C2B0 ; # DEGREE SIGN
- 9D C2B2 ; # SUPERSCRIPT TWO
- 9E C2B7 ; # MIDDLE DOT
- 9F C3B7 ; # DIVISION SIGN
- A0 E29590 ; # BOX DRAWINGS DOUBLE HORIZONTAL
- A1 E29591 ; # BOX DRAWINGS DOUBLE VERTICAL
- A2 E29592 ; # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- A3 D191 ; # CYRILLIC SMALL LETTER IO
- A4 E29593 ; # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- A5 E29594 ; # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- A6 E29595 ; # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- A7 E29596 ; # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- A8 E29597 ; # BOX DRAWINGS DOUBLE DOWN AND LEFT
- A9 E29598 ; # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- AA E29599 ; # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- AB E2959A ; # BOX DRAWINGS DOUBLE UP AND RIGHT
- AC E2959B ; # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- AD E2959C ; # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- AE E2959D ; # BOX DRAWINGS DOUBLE UP AND LEFT
- AF E2959E ; # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- B0 E2959F ; # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- B1 E295A0 ; # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- B2 E295A1 ; # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- B3 D081 ; # CYRILLIC CAPITAL LETTER IO
- B4 E295A2 ; # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- B5 E295A3 ; # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- B6 E295A4 ; # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- B7 E295A5 ; # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- B8 E295A6 ; # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- B9 E295A7 ; # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- BA E295A8 ; # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- BB E295A9 ; # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- BC E295AA ; # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- BD E295AB ; # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- BE E295AC ; # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- BF C2A9 ; # COPYRIGHT SIGN
- C0 D18E ; # CYRILLIC SMALL LETTER YU
- C1 D0B0 ; # CYRILLIC SMALL LETTER A
- C2 D0B1 ; # CYRILLIC SMALL LETTER BE
- C3 D186 ; # CYRILLIC SMALL LETTER TSE
- C4 D0B4 ; # CYRILLIC SMALL LETTER DE
- C5 D0B5 ; # CYRILLIC SMALL LETTER IE
- C6 D184 ; # CYRILLIC SMALL LETTER EF
- C7 D0B3 ; # CYRILLIC SMALL LETTER GHE
- C8 D185 ; # CYRILLIC SMALL LETTER HA
- C9 D0B8 ; # CYRILLIC SMALL LETTER I
- CA D0B9 ; # CYRILLIC SMALL LETTER SHORT I
- CB D0BA ; # CYRILLIC SMALL LETTER KA
- CC D0BB ; # CYRILLIC SMALL LETTER EL
- CD D0BC ; # CYRILLIC SMALL LETTER EM
- CE D0BD ; # CYRILLIC SMALL LETTER EN
- CF D0BE ; # CYRILLIC SMALL LETTER O
- D0 D0BF ; # CYRILLIC SMALL LETTER PE
- D1 D18F ; # CYRILLIC SMALL LETTER YA
- D2 D180 ; # CYRILLIC SMALL LETTER ER
- D3 D181 ; # CYRILLIC SMALL LETTER ES
- D4 D182 ; # CYRILLIC SMALL LETTER TE
- D5 D183 ; # CYRILLIC SMALL LETTER U
- D6 D0B6 ; # CYRILLIC SMALL LETTER ZHE
- D7 D0B2 ; # CYRILLIC SMALL LETTER VE
- D8 D18C ; # CYRILLIC SMALL LETTER SOFT SIGN
- D9 D18B ; # CYRILLIC SMALL LETTER YERU
- DA D0B7 ; # CYRILLIC SMALL LETTER ZE
- DB D188 ; # CYRILLIC SMALL LETTER SHA
- DC D18D ; # CYRILLIC SMALL LETTER E
- DD D189 ; # CYRILLIC SMALL LETTER SHCHA
- DE D187 ; # CYRILLIC SMALL LETTER CHE
- DF D18A ; # CYRILLIC SMALL LETTER HARD SIGN
- E0 D0AE ; # CYRILLIC CAPITAL LETTER YU
- E1 D090 ; # CYRILLIC CAPITAL LETTER A
- E2 D091 ; # CYRILLIC CAPITAL LETTER BE
- E3 D0A6 ; # CYRILLIC CAPITAL LETTER TSE
- E4 D094 ; # CYRILLIC CAPITAL LETTER DE
- E5 D095 ; # CYRILLIC CAPITAL LETTER IE
- E6 D0A4 ; # CYRILLIC CAPITAL LETTER EF
- E7 D093 ; # CYRILLIC CAPITAL LETTER GHE
- E8 D0A5 ; # CYRILLIC CAPITAL LETTER HA
- E9 D098 ; # CYRILLIC CAPITAL LETTER I
- EA D099 ; # CYRILLIC CAPITAL LETTER SHORT I
- EB D09A ; # CYRILLIC CAPITAL LETTER KA
- EC D09B ; # CYRILLIC CAPITAL LETTER EL
- ED D09C ; # CYRILLIC CAPITAL LETTER EM
- EE D09D ; # CYRILLIC CAPITAL LETTER EN
- EF D09E ; # CYRILLIC CAPITAL LETTER O
- F0 D09F ; # CYRILLIC CAPITAL LETTER PE
- F1 D0AF ; # CYRILLIC CAPITAL LETTER YA
- F2 D0A0 ; # CYRILLIC CAPITAL LETTER ER
- F3 D0A1 ; # CYRILLIC CAPITAL LETTER ES
- F4 D0A2 ; # CYRILLIC CAPITAL LETTER TE
- F5 D0A3 ; # CYRILLIC CAPITAL LETTER U
- F6 D096 ; # CYRILLIC CAPITAL LETTER ZHE
- F7 D092 ; # CYRILLIC CAPITAL LETTER VE
- F8 D0AC ; # CYRILLIC CAPITAL LETTER SOFT SIGN
- F9 D0AB ; # CYRILLIC CAPITAL LETTER YERU
- FA D097 ; # CYRILLIC CAPITAL LETTER ZE
- FB D0A8 ; # CYRILLIC CAPITAL LETTER SHA
- FC D0AD ; # CYRILLIC CAPITAL LETTER E
- FD D0A9 ; # CYRILLIC CAPITAL LETTER SHCHA
- FE D0A7 ; # CYRILLIC CAPITAL LETTER CHE
- FF D0AA ; # CYRILLIC CAPITAL LETTER HARD SIGN
-}
diff --git a/contrib/unicode2nginx/unicode-to-nginx.pl b/contrib/unicode2nginx/unicode-to-nginx.pl
deleted file mode 100644
index d113fed..0000000
--- a/contrib/unicode2nginx/unicode-to-nginx.pl
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/perl -w
-
-# Convert unicode mappings to nginx configuration file format.
-
-# You may find useful mappings in various places, including
-# unicode.org official site:
-#
-# http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT
-# http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT
-
-# Needs perl 5.6 or later.
-
-# Written by Maxim Dounin, mdounin@mdounin.ru
-
-###############################################################################
-
-require 5.006;
-
-while (<>) {
- # Skip comments and empty lines
-
- next if /^#/;
- next if /^\s*$/;
- chomp;
-
- # Convert mappings
-
- if (/^\s*0x(..)\s*0x(....)\s*(#.*)/) {
- # Mapping "#"
- my $cs_code = $1;
- my $un_code = $2;
- my $un_name = $3;
-
- # Produce UTF-8 sequence from character code;
-
- my $un_utf8 = join('',
- map { sprintf("%02X", $_) }
- unpack("U0C*", pack("U", hex($un_code)))
- );
-
- print " $cs_code $un_utf8 ; $un_name\n";
-
- } else {
- warn "Unrecognized line: '$_'";
- }
-}
-
-###############################################################################
diff --git a/contrib/unicode2nginx/win-utf b/contrib/unicode2nginx/win-utf
deleted file mode 100644
index af9f9aa..0000000
--- a/contrib/unicode2nginx/win-utf
+++ /dev/null
@@ -1,130 +0,0 @@
-charset_map windows-1251 utf-8 {
-
- 80 D082 ; #CYRILLIC CAPITAL LETTER DJE
- 81 D083 ; #CYRILLIC CAPITAL LETTER GJE
- 82 E2809A ; #SINGLE LOW-9 QUOTATION MARK
- 83 D193 ; #CYRILLIC SMALL LETTER GJE
- 84 E2809E ; #DOUBLE LOW-9 QUOTATION MARK
- 85 E280A6 ; #HORIZONTAL ELLIPSIS
- 86 E280A0 ; #DAGGER
- 87 E280A1 ; #DOUBLE DAGGER
- 88 E282AC ; #EURO SIGN
- 89 E280B0 ; #PER MILLE SIGN
- 8A D089 ; #CYRILLIC CAPITAL LETTER LJE
- 8B E280B9 ; #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 8C D08A ; #CYRILLIC CAPITAL LETTER NJE
- 8D D08C ; #CYRILLIC CAPITAL LETTER KJE
- 8E D08B ; #CYRILLIC CAPITAL LETTER TSHE
- 8F D08F ; #CYRILLIC CAPITAL LETTER DZHE
- 90 D192 ; #CYRILLIC SMALL LETTER DJE
- 91 E28098 ; #LEFT SINGLE QUOTATION MARK
- 92 E28099 ; #RIGHT SINGLE QUOTATION MARK
- 93 E2809C ; #LEFT DOUBLE QUOTATION MARK
- 94 E2809D ; #RIGHT DOUBLE QUOTATION MARK
- 95 E280A2 ; #BULLET
- 96 E28093 ; #EN DASH
- 97 E28094 ; #EM DASH
- 99 E284A2 ; #TRADE MARK SIGN
- 9A D199 ; #CYRILLIC SMALL LETTER LJE
- 9B E280BA ; #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 9C D19A ; #CYRILLIC SMALL LETTER NJE
- 9D D19C ; #CYRILLIC SMALL LETTER KJE
- 9E D19B ; #CYRILLIC SMALL LETTER TSHE
- 9F D19F ; #CYRILLIC SMALL LETTER DZHE
- A0 C2A0 ; #NO-BREAK SPACE
- A1 D08E ; #CYRILLIC CAPITAL LETTER SHORT U
- A2 D19E ; #CYRILLIC SMALL LETTER SHORT U
- A3 D088 ; #CYRILLIC CAPITAL LETTER JE
- A4 C2A4 ; #CURRENCY SIGN
- A5 D290 ; #CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- A6 C2A6 ; #BROKEN BAR
- A7 C2A7 ; #SECTION SIGN
- A8 D081 ; #CYRILLIC CAPITAL LETTER IO
- A9 C2A9 ; #COPYRIGHT SIGN
- AA D084 ; #CYRILLIC CAPITAL LETTER UKRAINIAN IE
- AB C2AB ; #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- AC C2AC ; #NOT SIGN
- AD C2AD ; #SOFT HYPHEN
- AE C2AE ; #REGISTERED SIGN
- AF D087 ; #CYRILLIC CAPITAL LETTER YI
- B0 C2B0 ; #DEGREE SIGN
- B1 C2B1 ; #PLUS-MINUS SIGN
- B2 D086 ; #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- B3 D196 ; #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- B4 D291 ; #CYRILLIC SMALL LETTER GHE WITH UPTURN
- B5 C2B5 ; #MICRO SIGN
- B6 C2B6 ; #PILCROW SIGN
- B7 C2B7 ; #MIDDLE DOT
- B8 D191 ; #CYRILLIC SMALL LETTER IO
- B9 E28496 ; #NUMERO SIGN
- BA D194 ; #CYRILLIC SMALL LETTER UKRAINIAN IE
- BB C2BB ; #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- BC D198 ; #CYRILLIC SMALL LETTER JE
- BD D085 ; #CYRILLIC CAPITAL LETTER DZE
- BE D195 ; #CYRILLIC SMALL LETTER DZE
- BF D197 ; #CYRILLIC SMALL LETTER YI
- C0 D090 ; #CYRILLIC CAPITAL LETTER A
- C1 D091 ; #CYRILLIC CAPITAL LETTER BE
- C2 D092 ; #CYRILLIC CAPITAL LETTER VE
- C3 D093 ; #CYRILLIC CAPITAL LETTER GHE
- C4 D094 ; #CYRILLIC CAPITAL LETTER DE
- C5 D095 ; #CYRILLIC CAPITAL LETTER IE
- C6 D096 ; #CYRILLIC CAPITAL LETTER ZHE
- C7 D097 ; #CYRILLIC CAPITAL LETTER ZE
- C8 D098 ; #CYRILLIC CAPITAL LETTER I
- C9 D099 ; #CYRILLIC CAPITAL LETTER SHORT I
- CA D09A ; #CYRILLIC CAPITAL LETTER KA
- CB D09B ; #CYRILLIC CAPITAL LETTER EL
- CC D09C ; #CYRILLIC CAPITAL LETTER EM
- CD D09D ; #CYRILLIC CAPITAL LETTER EN
- CE D09E ; #CYRILLIC CAPITAL LETTER O
- CF D09F ; #CYRILLIC CAPITAL LETTER PE
- D0 D0A0 ; #CYRILLIC CAPITAL LETTER ER
- D1 D0A1 ; #CYRILLIC CAPITAL LETTER ES
- D2 D0A2 ; #CYRILLIC CAPITAL LETTER TE
- D3 D0A3 ; #CYRILLIC CAPITAL LETTER U
- D4 D0A4 ; #CYRILLIC CAPITAL LETTER EF
- D5 D0A5 ; #CYRILLIC CAPITAL LETTER HA
- D6 D0A6 ; #CYRILLIC CAPITAL LETTER TSE
- D7 D0A7 ; #CYRILLIC CAPITAL LETTER CHE
- D8 D0A8 ; #CYRILLIC CAPITAL LETTER SHA
- D9 D0A9 ; #CYRILLIC CAPITAL LETTER SHCHA
- DA D0AA ; #CYRILLIC CAPITAL LETTER HARD SIGN
- DB D0AB ; #CYRILLIC CAPITAL LETTER YERU
- DC D0AC ; #CYRILLIC CAPITAL LETTER SOFT SIGN
- DD D0AD ; #CYRILLIC CAPITAL LETTER E
- DE D0AE ; #CYRILLIC CAPITAL LETTER YU
- DF D0AF ; #CYRILLIC CAPITAL LETTER YA
- E0 D0B0 ; #CYRILLIC SMALL LETTER A
- E1 D0B1 ; #CYRILLIC SMALL LETTER BE
- E2 D0B2 ; #CYRILLIC SMALL LETTER VE
- E3 D0B3 ; #CYRILLIC SMALL LETTER GHE
- E4 D0B4 ; #CYRILLIC SMALL LETTER DE
- E5 D0B5 ; #CYRILLIC SMALL LETTER IE
- E6 D0B6 ; #CYRILLIC SMALL LETTER ZHE
- E7 D0B7 ; #CYRILLIC SMALL LETTER ZE
- E8 D0B8 ; #CYRILLIC SMALL LETTER I
- E9 D0B9 ; #CYRILLIC SMALL LETTER SHORT I
- EA D0BA ; #CYRILLIC SMALL LETTER KA
- EB D0BB ; #CYRILLIC SMALL LETTER EL
- EC D0BC ; #CYRILLIC SMALL LETTER EM
- ED D0BD ; #CYRILLIC SMALL LETTER EN
- EE D0BE ; #CYRILLIC SMALL LETTER O
- EF D0BF ; #CYRILLIC SMALL LETTER PE
- F0 D180 ; #CYRILLIC SMALL LETTER ER
- F1 D181 ; #CYRILLIC SMALL LETTER ES
- F2 D182 ; #CYRILLIC SMALL LETTER TE
- F3 D183 ; #CYRILLIC SMALL LETTER U
- F4 D184 ; #CYRILLIC SMALL LETTER EF
- F5 D185 ; #CYRILLIC SMALL LETTER HA
- F6 D186 ; #CYRILLIC SMALL LETTER TSE
- F7 D187 ; #CYRILLIC SMALL LETTER CHE
- F8 D188 ; #CYRILLIC SMALL LETTER SHA
- F9 D189 ; #CYRILLIC SMALL LETTER SHCHA
- FA D18A ; #CYRILLIC SMALL LETTER HARD SIGN
- FB D18B ; #CYRILLIC SMALL LETTER YERU
- FC D18C ; #CYRILLIC SMALL LETTER SOFT SIGN
- FD D18D ; #CYRILLIC SMALL LETTER E
- FE D18E ; #CYRILLIC SMALL LETTER YU
- FF D18F ; #CYRILLIC SMALL LETTER YA
-}
diff --git a/contrib/vim/ftdetect/nginx.vim b/contrib/vim/ftdetect/nginx.vim
deleted file mode 100644
index 3ae470d..0000000
--- a/contrib/vim/ftdetect/nginx.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-au BufRead,BufNewFile *.nginx set ft=nginx
-au BufRead,BufNewFile */etc/nginx/* set ft=nginx
-au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
-au BufRead,BufNewFile nginx.conf set ft=nginx
diff --git a/contrib/vim/ftplugin/nginx.vim b/contrib/vim/ftplugin/nginx.vim
deleted file mode 100644
index 463eea9..0000000
--- a/contrib/vim/ftplugin/nginx.vim
+++ /dev/null
@@ -1 +0,0 @@
-setlocal commentstring=#\ %s
diff --git a/contrib/vim/indent/nginx.vim b/contrib/vim/indent/nginx.vim
deleted file mode 100644
index 8601366..0000000
--- a/contrib/vim/indent/nginx.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-if exists("b:did_indent")
- finish
-endif
-let b:did_indent = 1
-
-setlocal indentexpr=
-
-" cindent actually works for nginx' simple file structure
-setlocal cindent
-" Just make sure that the comments are not reset as defs would be.
-setlocal cinkeys-=0#
diff --git a/contrib/vim/syntax/nginx.vim b/contrib/vim/syntax/nginx.vim
deleted file mode 100644
index 6bee7a2..0000000
--- a/contrib/vim/syntax/nginx.vim
+++ /dev/null
@@ -1,2333 +0,0 @@
-" Vim syntax file
-" Language: nginx.conf
-
-if exists("b:current_syntax")
- finish
-end
-
-" general syntax
-
-if has("patch-7.4.1142")
- " except control characters, ";", "{", and "}"
- syn iskeyword 33-58,60-122,124,126-255
-endif
-
-syn match ngxName '\([^;{} \t\\]\|\\.\)\+'
- \ contains=@ngxDirectives
- \ nextgroup=@ngxParams skipwhite skipempty
-syn match ngxParam '\(\${\|[^;{ \t\\]\|\\.\)\+'
- \ contained
- \ contains=ngxVariable
- \ nextgroup=@ngxParams skipwhite skipempty
-syn region ngxString start=+\z(["']\)+ end=+\z1+ skip=+\\\\\|\\\z1+
- \ contains=ngxVariableString
- \ nextgroup=@ngxParams skipwhite skipempty
-syn match ngxParamComment '#.*$'
- \ nextgroup=@ngxParams skipwhite skipempty
-syn match ngxSemicolon ';' contained
-syn region ngxBlock start=+{+ end=+}+ contained
- \ contains=@ngxTopLevel
-syn match ngxComment '#.*$'
-
-syn match ngxVariable '\$\(\w\+\|{\w\+}\)' contained
-syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained
-
-syn cluster ngxTopLevel
- \ contains=ngxName,ngxString,ngxComment
-syn cluster ngxDirectives
- \ contains=ngxDirective,ngxDirectiveBlock,ngxDirectiveImportant
- \ add=ngxDirectiveControl,ngxDirectiveError,ngxDirectiveDeprecated
- \ add=ngxDirectiveThirdParty,ngxDirectiveThirdPartyDeprecated
-syn cluster ngxParams
- \ contains=ngxParam,ngxString,ngxParamComment,ngxSemicolon,ngxBlock
-
-" boolean parameters
-
-syn keyword ngxBoolean contained on off
- \ nextgroup=@ngxParams skipwhite skipempty
-syn cluster ngxParams add=ngxBoolean
-
-" listen directive
-
-syn cluster ngxTopLevel add=ngxDirectiveListen
-syn keyword ngxDirectiveListen listen
- \ nextgroup=@ngxListenParams skipwhite skipempty
-syn match ngxListenParam '\(\${\|[^;{ \t\\]\|\\.\)\+'
- \ contained
- \ nextgroup=@ngxListenParams skipwhite skipempty
-syn region ngxListenString start=+\z(["']\)+ end=+\z1+ skip=+\\\\\|\\\z1+
- \ contained
- \ nextgroup=@ngxListenParams skipwhite skipempty
-syn match ngxListenComment '#.*$'
- \ contained
- \ nextgroup=@ngxListenParams skipwhite skipempty
-syn keyword ngxListenOptions contained
- \ default_server ssl http2 proxy_protocol
- \ setfib fastopen backlog rcvbuf sndbuf accept_filter deferred bind
- \ ipv6only reuseport so_keepalive
- \ nextgroup=@ngxListenParams skipwhite skipempty
-syn keyword ngxListenOptionsDeprecated contained
- \ spdy
- \ nextgroup=@ngxListenParams skipwhite skipempty
-syn cluster ngxListenParams
- \ contains=ngxListenParam,ngxListenString,ngxListenComment
- \ add=ngxListenOptions,ngxListenOptionsDeprecated
-
-syn keyword ngxDirectiveBlock contained http
-syn keyword ngxDirectiveBlock contained stream
-syn keyword ngxDirectiveBlock contained mail
-syn keyword ngxDirectiveBlock contained events
-syn keyword ngxDirectiveBlock contained server
-syn keyword ngxDirectiveBlock contained types
-syn keyword ngxDirectiveBlock contained location
-syn keyword ngxDirectiveBlock contained upstream
-syn keyword ngxDirectiveBlock contained charset_map
-syn keyword ngxDirectiveBlock contained limit_except
-syn keyword ngxDirectiveBlock contained if
-syn keyword ngxDirectiveBlock contained geo
-syn keyword ngxDirectiveBlock contained map
-syn keyword ngxDirectiveBlock contained split_clients
-syn keyword ngxDirectiveBlock contained match
-
-syn keyword ngxDirectiveImportant contained include
-syn keyword ngxDirectiveImportant contained root
-syn keyword ngxDirectiveImportant contained server_name
-syn keyword ngxDirectiveImportant contained internal
-syn keyword ngxDirectiveImportant contained proxy_pass
-syn keyword ngxDirectiveImportant contained memcached_pass
-syn keyword ngxDirectiveImportant contained fastcgi_pass
-syn keyword ngxDirectiveImportant contained scgi_pass
-syn keyword ngxDirectiveImportant contained uwsgi_pass
-syn keyword ngxDirectiveImportant contained try_files
-
-syn keyword ngxDirectiveControl contained break
-syn keyword ngxDirectiveControl contained return
-syn keyword ngxDirectiveControl contained rewrite
-syn keyword ngxDirectiveControl contained set
-
-syn keyword ngxDirectiveError contained error_page
-syn keyword ngxDirectiveError contained post_action
-
-syn keyword ngxDirectiveDeprecated contained limit_zone
-syn keyword ngxDirectiveDeprecated contained proxy_downstream_buffer
-syn keyword ngxDirectiveDeprecated contained proxy_upstream_buffer
-syn keyword ngxDirectiveDeprecated contained spdy_chunk_size
-syn keyword ngxDirectiveDeprecated contained spdy_headers_comp
-syn keyword ngxDirectiveDeprecated contained spdy_keepalive_timeout
-syn keyword ngxDirectiveDeprecated contained spdy_max_concurrent_streams
-syn keyword ngxDirectiveDeprecated contained spdy_pool_size
-syn keyword ngxDirectiveDeprecated contained spdy_recv_buffer_size
-syn keyword ngxDirectiveDeprecated contained spdy_recv_timeout
-syn keyword ngxDirectiveDeprecated contained spdy_streams_index_size
-syn keyword ngxDirectiveDeprecated contained ssl
-syn keyword ngxDirectiveDeprecated contained upstream_conf
-
-syn keyword ngxDirective contained absolute_redirect
-syn keyword ngxDirective contained accept_mutex
-syn keyword ngxDirective contained accept_mutex_delay
-syn keyword ngxDirective contained acceptex_read
-syn keyword ngxDirective contained access_log
-syn keyword ngxDirective contained add_after_body
-syn keyword ngxDirective contained add_before_body
-syn keyword ngxDirective contained add_header
-syn keyword ngxDirective contained add_trailer
-syn keyword ngxDirective contained addition_types
-syn keyword ngxDirective contained aio
-syn keyword ngxDirective contained aio_write
-syn keyword ngxDirective contained alias
-syn keyword ngxDirective contained allow
-syn keyword ngxDirective contained ancient_browser
-syn keyword ngxDirective contained ancient_browser_value
-syn keyword ngxDirective contained api
-syn keyword ngxDirective contained auth_basic
-syn keyword ngxDirective contained auth_basic_user_file
-syn keyword ngxDirective contained auth_http
-syn keyword ngxDirective contained auth_http_header
-syn keyword ngxDirective contained auth_http_pass_client_cert
-syn keyword ngxDirective contained auth_http_timeout
-syn keyword ngxDirective contained auth_jwt
-syn keyword ngxDirective contained auth_jwt_claim_set
-syn keyword ngxDirective contained auth_jwt_header_set
-syn keyword ngxDirective contained auth_jwt_key_file
-syn keyword ngxDirective contained auth_jwt_key_request
-syn keyword ngxDirective contained auth_jwt_leeway
-syn keyword ngxDirective contained auth_request
-syn keyword ngxDirective contained auth_request_set
-syn keyword ngxDirective contained autoindex
-syn keyword ngxDirective contained autoindex_exact_size
-syn keyword ngxDirective contained autoindex_format
-syn keyword ngxDirective contained autoindex_localtime
-syn keyword ngxDirective contained charset
-syn keyword ngxDirective contained charset_types
-syn keyword ngxDirective contained chunked_transfer_encoding
-syn keyword ngxDirective contained client_body_buffer_size
-syn keyword ngxDirective contained client_body_in_file_only
-syn keyword ngxDirective contained client_body_in_single_buffer
-syn keyword ngxDirective contained client_body_temp_path
-syn keyword ngxDirective contained client_body_timeout
-syn keyword ngxDirective contained client_header_buffer_size
-syn keyword ngxDirective contained client_header_timeout
-syn keyword ngxDirective contained client_max_body_size
-syn keyword ngxDirective contained connection_pool_size
-syn keyword ngxDirective contained create_full_put_path
-syn keyword ngxDirective contained daemon
-syn keyword ngxDirective contained dav_access
-syn keyword ngxDirective contained dav_methods
-syn keyword ngxDirective contained debug_connection
-syn keyword ngxDirective contained debug_points
-syn keyword ngxDirective contained default_type
-syn keyword ngxDirective contained degradation
-syn keyword ngxDirective contained degrade
-syn keyword ngxDirective contained deny
-syn keyword ngxDirective contained devpoll_changes
-syn keyword ngxDirective contained devpoll_events
-syn keyword ngxDirective contained directio
-syn keyword ngxDirective contained directio_alignment
-syn keyword ngxDirective contained disable_symlinks
-syn keyword ngxDirective contained empty_gif
-syn keyword ngxDirective contained env
-syn keyword ngxDirective contained epoll_events
-syn keyword ngxDirective contained error_log
-syn keyword ngxDirective contained etag
-syn keyword ngxDirective contained eventport_events
-syn keyword ngxDirective contained expires
-syn keyword ngxDirective contained f4f
-syn keyword ngxDirective contained f4f_buffer_size
-syn keyword ngxDirective contained fastcgi_bind
-syn keyword ngxDirective contained fastcgi_buffer_size
-syn keyword ngxDirective contained fastcgi_buffering
-syn keyword ngxDirective contained fastcgi_buffers
-syn keyword ngxDirective contained fastcgi_busy_buffers_size
-syn keyword ngxDirective contained fastcgi_cache
-syn keyword ngxDirective contained fastcgi_cache_background_update
-syn keyword ngxDirective contained fastcgi_cache_bypass
-syn keyword ngxDirective contained fastcgi_cache_key
-syn keyword ngxDirective contained fastcgi_cache_lock
-syn keyword ngxDirective contained fastcgi_cache_lock_age
-syn keyword ngxDirective contained fastcgi_cache_lock_timeout
-syn keyword ngxDirective contained fastcgi_cache_max_range_offset
-syn keyword ngxDirective contained fastcgi_cache_methods
-syn keyword ngxDirective contained fastcgi_cache_min_uses
-syn keyword ngxDirective contained fastcgi_cache_path
-syn keyword ngxDirective contained fastcgi_cache_purge
-syn keyword ngxDirective contained fastcgi_cache_revalidate
-syn keyword ngxDirective contained fastcgi_cache_use_stale
-syn keyword ngxDirective contained fastcgi_cache_valid
-syn keyword ngxDirective contained fastcgi_catch_stderr
-syn keyword ngxDirective contained fastcgi_connect_timeout
-syn keyword ngxDirective contained fastcgi_force_ranges
-syn keyword ngxDirective contained fastcgi_hide_header
-syn keyword ngxDirective contained fastcgi_ignore_client_abort
-syn keyword ngxDirective contained fastcgi_ignore_headers
-syn keyword ngxDirective contained fastcgi_index
-syn keyword ngxDirective contained fastcgi_intercept_errors
-syn keyword ngxDirective contained fastcgi_keep_conn
-syn keyword ngxDirective contained fastcgi_limit_rate
-syn keyword ngxDirective contained fastcgi_max_temp_file_size
-syn keyword ngxDirective contained fastcgi_next_upstream
-syn keyword ngxDirective contained fastcgi_next_upstream_timeout
-syn keyword ngxDirective contained fastcgi_next_upstream_tries
-syn keyword ngxDirective contained fastcgi_no_cache
-syn keyword ngxDirective contained fastcgi_param
-syn keyword ngxDirective contained fastcgi_pass_header
-syn keyword ngxDirective contained fastcgi_pass_request_body
-syn keyword ngxDirective contained fastcgi_pass_request_headers
-syn keyword ngxDirective contained fastcgi_read_timeout
-syn keyword ngxDirective contained fastcgi_request_buffering
-syn keyword ngxDirective contained fastcgi_send_lowat
-syn keyword ngxDirective contained fastcgi_send_timeout
-syn keyword ngxDirective contained fastcgi_socket_keepalive
-syn keyword ngxDirective contained fastcgi_split_path_info
-syn keyword ngxDirective contained fastcgi_store
-syn keyword ngxDirective contained fastcgi_store_access
-syn keyword ngxDirective contained fastcgi_temp_file_write_size
-syn keyword ngxDirective contained fastcgi_temp_path
-syn keyword ngxDirective contained flv
-syn keyword ngxDirective contained geoip_city
-syn keyword ngxDirective contained geoip_country
-syn keyword ngxDirective contained geoip_org
-syn keyword ngxDirective contained geoip_proxy
-syn keyword ngxDirective contained geoip_proxy_recursive
-syn keyword ngxDirective contained google_perftools_profiles
-syn keyword ngxDirective contained grpc_bind
-syn keyword ngxDirective contained grpc_buffer_size
-syn keyword ngxDirective contained grpc_connect_timeout
-syn keyword ngxDirective contained grpc_hide_header
-syn keyword ngxDirective contained grpc_ignore_headers
-syn keyword ngxDirective contained grpc_intercept_errors
-syn keyword ngxDirective contained grpc_next_upstream
-syn keyword ngxDirective contained grpc_next_upstream_timeout
-syn keyword ngxDirective contained grpc_next_upstream_tries
-syn keyword ngxDirective contained grpc_pass
-syn keyword ngxDirective contained grpc_pass_header
-syn keyword ngxDirective contained grpc_read_timeout
-syn keyword ngxDirective contained grpc_send_timeout
-syn keyword ngxDirective contained grpc_set_header
-syn keyword ngxDirective contained grpc_socket_keepalive
-syn keyword ngxDirective contained grpc_ssl_certificate
-syn keyword ngxDirective contained grpc_ssl_certificate_key
-syn keyword ngxDirective contained grpc_ssl_ciphers
-syn keyword ngxDirective contained grpc_ssl_crl
-syn keyword ngxDirective contained grpc_ssl_name
-syn keyword ngxDirective contained grpc_ssl_password_file
-syn keyword ngxDirective contained grpc_ssl_protocols
-syn keyword ngxDirective contained grpc_ssl_server_name
-syn keyword ngxDirective contained grpc_ssl_session_reuse
-syn keyword ngxDirective contained grpc_ssl_trusted_certificate
-syn keyword ngxDirective contained grpc_ssl_verify
-syn keyword ngxDirective contained grpc_ssl_verify_depth
-syn keyword ngxDirective contained gunzip
-syn keyword ngxDirective contained gunzip_buffers
-syn keyword ngxDirective contained gzip
-syn keyword ngxDirective contained gzip_buffers
-syn keyword ngxDirective contained gzip_comp_level
-syn keyword ngxDirective contained gzip_disable
-syn keyword ngxDirective contained gzip_hash
-syn keyword ngxDirective contained gzip_http_version
-syn keyword ngxDirective contained gzip_min_length
-syn keyword ngxDirective contained gzip_no_buffer
-syn keyword ngxDirective contained gzip_proxied
-syn keyword ngxDirective contained gzip_static
-syn keyword ngxDirective contained gzip_types
-syn keyword ngxDirective contained gzip_vary
-syn keyword ngxDirective contained gzip_window
-syn keyword ngxDirective contained hash
-syn keyword ngxDirective contained health_check
-syn keyword ngxDirective contained health_check_timeout
-syn keyword ngxDirective contained hls
-syn keyword ngxDirective contained hls_buffers
-syn keyword ngxDirective contained hls_forward_args
-syn keyword ngxDirective contained hls_fragment
-syn keyword ngxDirective contained hls_mp4_buffer_size
-syn keyword ngxDirective contained hls_mp4_max_buffer_size
-syn keyword ngxDirective contained http2_body_preread_size
-syn keyword ngxDirective contained http2_chunk_size
-syn keyword ngxDirective contained http2_idle_timeout
-syn keyword ngxDirective contained http2_max_concurrent_pushes
-syn keyword ngxDirective contained http2_max_concurrent_streams
-syn keyword ngxDirective contained http2_max_field_size
-syn keyword ngxDirective contained http2_max_header_size
-syn keyword ngxDirective contained http2_max_requests
-syn keyword ngxDirective contained http2_pool_size
-syn keyword ngxDirective contained http2_push
-syn keyword ngxDirective contained http2_push_preload
-syn keyword ngxDirective contained http2_recv_buffer_size
-syn keyword ngxDirective contained http2_recv_timeout
-syn keyword ngxDirective contained http2_streams_index_size
-syn keyword ngxDirective contained if_modified_since
-syn keyword ngxDirective contained ignore_invalid_headers
-syn keyword ngxDirective contained image_filter
-syn keyword ngxDirective contained image_filter_buffer
-syn keyword ngxDirective contained image_filter_interlace
-syn keyword ngxDirective contained image_filter_jpeg_quality
-syn keyword ngxDirective contained image_filter_sharpen
-syn keyword ngxDirective contained image_filter_transparency
-syn keyword ngxDirective contained image_filter_webp_quality
-syn keyword ngxDirective contained imap_auth
-syn keyword ngxDirective contained imap_capabilities
-syn keyword ngxDirective contained imap_client_buffer
-syn keyword ngxDirective contained index
-syn keyword ngxDirective contained iocp_threads
-syn keyword ngxDirective contained ip_hash
-syn keyword ngxDirective contained js_access
-syn keyword ngxDirective contained js_content
-syn keyword ngxDirective contained js_filter
-syn keyword ngxDirective contained js_include
-syn keyword ngxDirective contained js_preread
-syn keyword ngxDirective contained js_set
-syn keyword ngxDirective contained keepalive
-syn keyword ngxDirective contained keepalive_disable
-syn keyword ngxDirective contained keepalive_requests
-syn keyword ngxDirective contained keepalive_timeout
-syn keyword ngxDirective contained keyval
-syn keyword ngxDirective contained keyval_zone
-syn keyword ngxDirective contained kqueue_changes
-syn keyword ngxDirective contained kqueue_events
-syn keyword ngxDirective contained large_client_header_buffers
-syn keyword ngxDirective contained least_conn
-syn keyword ngxDirective contained least_time
-syn keyword ngxDirective contained limit_conn
-syn keyword ngxDirective contained limit_conn_log_level
-syn keyword ngxDirective contained limit_conn_status
-syn keyword ngxDirective contained limit_conn_zone
-syn keyword ngxDirective contained limit_rate
-syn keyword ngxDirective contained limit_rate_after
-syn keyword ngxDirective contained limit_req
-syn keyword ngxDirective contained limit_req_log_level
-syn keyword ngxDirective contained limit_req_status
-syn keyword ngxDirective contained limit_req_zone
-syn keyword ngxDirective contained lingering_close
-syn keyword ngxDirective contained lingering_time
-syn keyword ngxDirective contained lingering_timeout
-syn keyword ngxDirective contained load_module
-syn keyword ngxDirective contained lock_file
-syn keyword ngxDirective contained log_format
-syn keyword ngxDirective contained log_not_found
-syn keyword ngxDirective contained log_subrequest
-syn keyword ngxDirective contained map_hash_bucket_size
-syn keyword ngxDirective contained map_hash_max_size
-syn keyword ngxDirective contained master_process
-syn keyword ngxDirective contained max_ranges
-syn keyword ngxDirective contained memcached_bind
-syn keyword ngxDirective contained memcached_buffer_size
-syn keyword ngxDirective contained memcached_connect_timeout
-syn keyword ngxDirective contained memcached_force_ranges
-syn keyword ngxDirective contained memcached_gzip_flag
-syn keyword ngxDirective contained memcached_next_upstream
-syn keyword ngxDirective contained memcached_next_upstream_timeout
-syn keyword ngxDirective contained memcached_next_upstream_tries
-syn keyword ngxDirective contained memcached_read_timeout
-syn keyword ngxDirective contained memcached_send_timeout
-syn keyword ngxDirective contained memcached_socket_keepalive
-syn keyword ngxDirective contained merge_slashes
-syn keyword ngxDirective contained min_delete_depth
-syn keyword ngxDirective contained mirror
-syn keyword ngxDirective contained mirror_request_body
-syn keyword ngxDirective contained modern_browser
-syn keyword ngxDirective contained modern_browser_value
-syn keyword ngxDirective contained mp4
-syn keyword ngxDirective contained mp4_buffer_size
-syn keyword ngxDirective contained mp4_limit_rate
-syn keyword ngxDirective contained mp4_limit_rate_after
-syn keyword ngxDirective contained mp4_max_buffer_size
-syn keyword ngxDirective contained msie_padding
-syn keyword ngxDirective contained msie_refresh
-syn keyword ngxDirective contained multi_accept
-syn keyword ngxDirective contained ntlm
-syn keyword ngxDirective contained open_file_cache
-syn keyword ngxDirective contained open_file_cache_errors
-syn keyword ngxDirective contained open_file_cache_events
-syn keyword ngxDirective contained open_file_cache_min_uses
-syn keyword ngxDirective contained open_file_cache_valid
-syn keyword ngxDirective contained open_log_file_cache
-syn keyword ngxDirective contained output_buffers
-syn keyword ngxDirective contained override_charset
-syn keyword ngxDirective contained pcre_jit
-syn keyword ngxDirective contained perl
-syn keyword ngxDirective contained perl_modules
-syn keyword ngxDirective contained perl_require
-syn keyword ngxDirective contained perl_set
-syn keyword ngxDirective contained pid
-syn keyword ngxDirective contained pop3_auth
-syn keyword ngxDirective contained pop3_capabilities
-syn keyword ngxDirective contained port_in_redirect
-syn keyword ngxDirective contained post_acceptex
-syn keyword ngxDirective contained postpone_gzipping
-syn keyword ngxDirective contained postpone_output
-syn keyword ngxDirective contained preread_buffer_size
-syn keyword ngxDirective contained preread_timeout
-syn keyword ngxDirective contained protocol
-syn keyword ngxDirective contained proxy
-syn keyword ngxDirective contained proxy_bind
-syn keyword ngxDirective contained proxy_buffer
-syn keyword ngxDirective contained proxy_buffer_size
-syn keyword ngxDirective contained proxy_buffering
-syn keyword ngxDirective contained proxy_buffers
-syn keyword ngxDirective contained proxy_busy_buffers_size
-syn keyword ngxDirective contained proxy_cache
-syn keyword ngxDirective contained proxy_cache_background_update
-syn keyword ngxDirective contained proxy_cache_bypass
-syn keyword ngxDirective contained proxy_cache_convert_head
-syn keyword ngxDirective contained proxy_cache_key
-syn keyword ngxDirective contained proxy_cache_lock
-syn keyword ngxDirective contained proxy_cache_lock_age
-syn keyword ngxDirective contained proxy_cache_lock_timeout
-syn keyword ngxDirective contained proxy_cache_max_range_offset
-syn keyword ngxDirective contained proxy_cache_methods
-syn keyword ngxDirective contained proxy_cache_min_uses
-syn keyword ngxDirective contained proxy_cache_path
-syn keyword ngxDirective contained proxy_cache_purge
-syn keyword ngxDirective contained proxy_cache_revalidate
-syn keyword ngxDirective contained proxy_cache_use_stale
-syn keyword ngxDirective contained proxy_cache_valid
-syn keyword ngxDirective contained proxy_connect_timeout
-syn keyword ngxDirective contained proxy_cookie_domain
-syn keyword ngxDirective contained proxy_cookie_path
-syn keyword ngxDirective contained proxy_download_rate
-syn keyword ngxDirective contained proxy_force_ranges
-syn keyword ngxDirective contained proxy_headers_hash_bucket_size
-syn keyword ngxDirective contained proxy_headers_hash_max_size
-syn keyword ngxDirective contained proxy_hide_header
-syn keyword ngxDirective contained proxy_http_version
-syn keyword ngxDirective contained proxy_ignore_client_abort
-syn keyword ngxDirective contained proxy_ignore_headers
-syn keyword ngxDirective contained proxy_intercept_errors
-syn keyword ngxDirective contained proxy_limit_rate
-syn keyword ngxDirective contained proxy_max_temp_file_size
-syn keyword ngxDirective contained proxy_method
-syn keyword ngxDirective contained proxy_next_upstream
-syn keyword ngxDirective contained proxy_next_upstream_timeout
-syn keyword ngxDirective contained proxy_next_upstream_tries
-syn keyword ngxDirective contained proxy_no_cache
-syn keyword ngxDirective contained proxy_pass_error_message
-syn keyword ngxDirective contained proxy_pass_header
-syn keyword ngxDirective contained proxy_pass_request_body
-syn keyword ngxDirective contained proxy_pass_request_headers
-syn keyword ngxDirective contained proxy_protocol
-syn keyword ngxDirective contained proxy_protocol_timeout
-syn keyword ngxDirective contained proxy_read_timeout
-syn keyword ngxDirective contained proxy_redirect
-syn keyword ngxDirective contained proxy_request_buffering
-syn keyword ngxDirective contained proxy_requests
-syn keyword ngxDirective contained proxy_responses
-syn keyword ngxDirective contained proxy_send_lowat
-syn keyword ngxDirective contained proxy_send_timeout
-syn keyword ngxDirective contained proxy_set_body
-syn keyword ngxDirective contained proxy_set_header
-syn keyword ngxDirective contained proxy_socket_keepalive
-syn keyword ngxDirective contained proxy_ssl
-syn keyword ngxDirective contained proxy_ssl_certificate
-syn keyword ngxDirective contained proxy_ssl_certificate_key
-syn keyword ngxDirective contained proxy_ssl_ciphers
-syn keyword ngxDirective contained proxy_ssl_crl
-syn keyword ngxDirective contained proxy_ssl_name
-syn keyword ngxDirective contained proxy_ssl_password_file
-syn keyword ngxDirective contained proxy_ssl_protocols
-syn keyword ngxDirective contained proxy_ssl_server_name
-syn keyword ngxDirective contained proxy_ssl_session_reuse
-syn keyword ngxDirective contained proxy_ssl_trusted_certificate
-syn keyword ngxDirective contained proxy_ssl_verify
-syn keyword ngxDirective contained proxy_ssl_verify_depth
-syn keyword ngxDirective contained proxy_store
-syn keyword ngxDirective contained proxy_store_access
-syn keyword ngxDirective contained proxy_temp_file_write_size
-syn keyword ngxDirective contained proxy_temp_path
-syn keyword ngxDirective contained proxy_timeout
-syn keyword ngxDirective contained proxy_upload_rate
-syn keyword ngxDirective contained queue
-syn keyword ngxDirective contained random
-syn keyword ngxDirective contained random_index
-syn keyword ngxDirective contained read_ahead
-syn keyword ngxDirective contained real_ip_header
-syn keyword ngxDirective contained real_ip_recursive
-syn keyword ngxDirective contained recursive_error_pages
-syn keyword ngxDirective contained referer_hash_bucket_size
-syn keyword ngxDirective contained referer_hash_max_size
-syn keyword ngxDirective contained request_pool_size
-syn keyword ngxDirective contained reset_timedout_connection
-syn keyword ngxDirective contained resolver
-syn keyword ngxDirective contained resolver_timeout
-syn keyword ngxDirective contained rewrite_log
-syn keyword ngxDirective contained satisfy
-syn keyword ngxDirective contained scgi_bind
-syn keyword ngxDirective contained scgi_buffer_size
-syn keyword ngxDirective contained scgi_buffering
-syn keyword ngxDirective contained scgi_buffers
-syn keyword ngxDirective contained scgi_busy_buffers_size
-syn keyword ngxDirective contained scgi_cache
-syn keyword ngxDirective contained scgi_cache_background_update
-syn keyword ngxDirective contained scgi_cache_bypass
-syn keyword ngxDirective contained scgi_cache_key
-syn keyword ngxDirective contained scgi_cache_lock
-syn keyword ngxDirective contained scgi_cache_lock_age
-syn keyword ngxDirective contained scgi_cache_lock_timeout
-syn keyword ngxDirective contained scgi_cache_max_range_offset
-syn keyword ngxDirective contained scgi_cache_methods
-syn keyword ngxDirective contained scgi_cache_min_uses
-syn keyword ngxDirective contained scgi_cache_path
-syn keyword ngxDirective contained scgi_cache_purge
-syn keyword ngxDirective contained scgi_cache_revalidate
-syn keyword ngxDirective contained scgi_cache_use_stale
-syn keyword ngxDirective contained scgi_cache_valid
-syn keyword ngxDirective contained scgi_connect_timeout
-syn keyword ngxDirective contained scgi_force_ranges
-syn keyword ngxDirective contained scgi_hide_header
-syn keyword ngxDirective contained scgi_ignore_client_abort
-syn keyword ngxDirective contained scgi_ignore_headers
-syn keyword ngxDirective contained scgi_intercept_errors
-syn keyword ngxDirective contained scgi_limit_rate
-syn keyword ngxDirective contained scgi_max_temp_file_size
-syn keyword ngxDirective contained scgi_next_upstream
-syn keyword ngxDirective contained scgi_next_upstream_timeout
-syn keyword ngxDirective contained scgi_next_upstream_tries
-syn keyword ngxDirective contained scgi_no_cache
-syn keyword ngxDirective contained scgi_param
-syn keyword ngxDirective contained scgi_pass_header
-syn keyword ngxDirective contained scgi_pass_request_body
-syn keyword ngxDirective contained scgi_pass_request_headers
-syn keyword ngxDirective contained scgi_read_timeout
-syn keyword ngxDirective contained scgi_request_buffering
-syn keyword ngxDirective contained scgi_send_timeout
-syn keyword ngxDirective contained scgi_socket_keepalive
-syn keyword ngxDirective contained scgi_store
-syn keyword ngxDirective contained scgi_store_access
-syn keyword ngxDirective contained scgi_temp_file_write_size
-syn keyword ngxDirective contained scgi_temp_path
-syn keyword ngxDirective contained secure_link
-syn keyword ngxDirective contained secure_link_md5
-syn keyword ngxDirective contained secure_link_secret
-syn keyword ngxDirective contained send_lowat
-syn keyword ngxDirective contained send_timeout
-syn keyword ngxDirective contained sendfile
-syn keyword ngxDirective contained sendfile_max_chunk
-syn keyword ngxDirective contained server_name_in_redirect
-syn keyword ngxDirective contained server_names_hash_bucket_size
-syn keyword ngxDirective contained server_names_hash_max_size
-syn keyword ngxDirective contained server_tokens
-syn keyword ngxDirective contained session_log
-syn keyword ngxDirective contained session_log_format
-syn keyword ngxDirective contained session_log_zone
-syn keyword ngxDirective contained set_real_ip_from
-syn keyword ngxDirective contained slice
-syn keyword ngxDirective contained smtp_auth
-syn keyword ngxDirective contained smtp_capabilities
-syn keyword ngxDirective contained smtp_client_buffer
-syn keyword ngxDirective contained smtp_greeting_delay
-syn keyword ngxDirective contained source_charset
-syn keyword ngxDirective contained ssi
-syn keyword ngxDirective contained ssi_ignore_recycled_buffers
-syn keyword ngxDirective contained ssi_last_modified
-syn keyword ngxDirective contained ssi_min_file_chunk
-syn keyword ngxDirective contained ssi_silent_errors
-syn keyword ngxDirective contained ssi_types
-syn keyword ngxDirective contained ssi_value_length
-syn keyword ngxDirective contained ssl_buffer_size
-syn keyword ngxDirective contained ssl_certificate
-syn keyword ngxDirective contained ssl_certificate_key
-syn keyword ngxDirective contained ssl_ciphers
-syn keyword ngxDirective contained ssl_client_certificate
-syn keyword ngxDirective contained ssl_crl
-syn keyword ngxDirective contained ssl_dhparam
-syn keyword ngxDirective contained ssl_early_data
-syn keyword ngxDirective contained ssl_ecdh_curve
-syn keyword ngxDirective contained ssl_engine
-syn keyword ngxDirective contained ssl_handshake_timeout
-syn keyword ngxDirective contained ssl_password_file
-syn keyword ngxDirective contained ssl_prefer_server_ciphers
-syn keyword ngxDirective contained ssl_preread
-syn keyword ngxDirective contained ssl_protocols
-syn keyword ngxDirective contained ssl_session_cache
-syn keyword ngxDirective contained ssl_session_ticket_key
-syn keyword ngxDirective contained ssl_session_tickets
-syn keyword ngxDirective contained ssl_session_timeout
-syn keyword ngxDirective contained ssl_stapling
-syn keyword ngxDirective contained ssl_stapling_file
-syn keyword ngxDirective contained ssl_stapling_responder
-syn keyword ngxDirective contained ssl_stapling_verify
-syn keyword ngxDirective contained ssl_trusted_certificate
-syn keyword ngxDirective contained ssl_verify_client
-syn keyword ngxDirective contained ssl_verify_depth
-syn keyword ngxDirective contained starttls
-syn keyword ngxDirective contained state
-syn keyword ngxDirective contained status
-syn keyword ngxDirective contained status_format
-syn keyword ngxDirective contained status_zone
-syn keyword ngxDirective contained sticky
-syn keyword ngxDirective contained sticky_cookie_insert
-syn keyword ngxDirective contained stub_status
-syn keyword ngxDirective contained sub_filter
-syn keyword ngxDirective contained sub_filter_last_modified
-syn keyword ngxDirective contained sub_filter_once
-syn keyword ngxDirective contained sub_filter_types
-syn keyword ngxDirective contained subrequest_output_buffer_size
-syn keyword ngxDirective contained tcp_nodelay
-syn keyword ngxDirective contained tcp_nopush
-syn keyword ngxDirective contained thread_pool
-syn keyword ngxDirective contained timeout
-syn keyword ngxDirective contained timer_resolution
-syn keyword ngxDirective contained types_hash_bucket_size
-syn keyword ngxDirective contained types_hash_max_size
-syn keyword ngxDirective contained underscores_in_headers
-syn keyword ngxDirective contained uninitialized_variable_warn
-syn keyword ngxDirective contained use
-syn keyword ngxDirective contained user
-syn keyword ngxDirective contained userid
-syn keyword ngxDirective contained userid_domain
-syn keyword ngxDirective contained userid_expires
-syn keyword ngxDirective contained userid_mark
-syn keyword ngxDirective contained userid_name
-syn keyword ngxDirective contained userid_p3p
-syn keyword ngxDirective contained userid_path
-syn keyword ngxDirective contained userid_service
-syn keyword ngxDirective contained uwsgi_bind
-syn keyword ngxDirective contained uwsgi_buffer_size
-syn keyword ngxDirective contained uwsgi_buffering
-syn keyword ngxDirective contained uwsgi_buffers
-syn keyword ngxDirective contained uwsgi_busy_buffers_size
-syn keyword ngxDirective contained uwsgi_cache
-syn keyword ngxDirective contained uwsgi_cache_background_update
-syn keyword ngxDirective contained uwsgi_cache_bypass
-syn keyword ngxDirective contained uwsgi_cache_key
-syn keyword ngxDirective contained uwsgi_cache_lock
-syn keyword ngxDirective contained uwsgi_cache_lock_age
-syn keyword ngxDirective contained uwsgi_cache_lock_timeout
-syn keyword ngxDirective contained uwsgi_cache_max_range_offset
-syn keyword ngxDirective contained uwsgi_cache_methods
-syn keyword ngxDirective contained uwsgi_cache_min_uses
-syn keyword ngxDirective contained uwsgi_cache_path
-syn keyword ngxDirective contained uwsgi_cache_purge
-syn keyword ngxDirective contained uwsgi_cache_revalidate
-syn keyword ngxDirective contained uwsgi_cache_use_stale
-syn keyword ngxDirective contained uwsgi_cache_valid
-syn keyword ngxDirective contained uwsgi_connect_timeout
-syn keyword ngxDirective contained uwsgi_force_ranges
-syn keyword ngxDirective contained uwsgi_hide_header
-syn keyword ngxDirective contained uwsgi_ignore_client_abort
-syn keyword ngxDirective contained uwsgi_ignore_headers
-syn keyword ngxDirective contained uwsgi_intercept_errors
-syn keyword ngxDirective contained uwsgi_limit_rate
-syn keyword ngxDirective contained uwsgi_max_temp_file_size
-syn keyword ngxDirective contained uwsgi_modifier1
-syn keyword ngxDirective contained uwsgi_modifier2
-syn keyword ngxDirective contained uwsgi_next_upstream
-syn keyword ngxDirective contained uwsgi_next_upstream_timeout
-syn keyword ngxDirective contained uwsgi_next_upstream_tries
-syn keyword ngxDirective contained uwsgi_no_cache
-syn keyword ngxDirective contained uwsgi_param
-syn keyword ngxDirective contained uwsgi_pass_header
-syn keyword ngxDirective contained uwsgi_pass_request_body
-syn keyword ngxDirective contained uwsgi_pass_request_headers
-syn keyword ngxDirective contained uwsgi_read_timeout
-syn keyword ngxDirective contained uwsgi_request_buffering
-syn keyword ngxDirective contained uwsgi_send_timeout
-syn keyword ngxDirective contained uwsgi_socket_keepalive
-syn keyword ngxDirective contained uwsgi_ssl_certificate
-syn keyword ngxDirective contained uwsgi_ssl_certificate_key
-syn keyword ngxDirective contained uwsgi_ssl_ciphers
-syn keyword ngxDirective contained uwsgi_ssl_crl
-syn keyword ngxDirective contained uwsgi_ssl_name
-syn keyword ngxDirective contained uwsgi_ssl_password_file
-syn keyword ngxDirective contained uwsgi_ssl_protocols
-syn keyword ngxDirective contained uwsgi_ssl_server_name
-syn keyword ngxDirective contained uwsgi_ssl_session_reuse
-syn keyword ngxDirective contained uwsgi_ssl_trusted_certificate
-syn keyword ngxDirective contained uwsgi_ssl_verify
-syn keyword ngxDirective contained uwsgi_ssl_verify_depth
-syn keyword ngxDirective contained uwsgi_store
-syn keyword ngxDirective contained uwsgi_store_access
-syn keyword ngxDirective contained uwsgi_string
-syn keyword ngxDirective contained uwsgi_temp_file_write_size
-syn keyword ngxDirective contained uwsgi_temp_path
-syn keyword ngxDirective contained valid_referers
-syn keyword ngxDirective contained variables_hash_bucket_size
-syn keyword ngxDirective contained variables_hash_max_size
-syn keyword ngxDirective contained worker_aio_requests
-syn keyword ngxDirective contained worker_connections
-syn keyword ngxDirective contained worker_cpu_affinity
-syn keyword ngxDirective contained worker_priority
-syn keyword ngxDirective contained worker_processes
-syn keyword ngxDirective contained worker_rlimit_core
-syn keyword ngxDirective contained worker_rlimit_nofile
-syn keyword ngxDirective contained worker_shutdown_timeout
-syn keyword ngxDirective contained working_directory
-syn keyword ngxDirective contained xclient
-syn keyword ngxDirective contained xml_entities
-syn keyword ngxDirective contained xslt_last_modified
-syn keyword ngxDirective contained xslt_param
-syn keyword ngxDirective contained xslt_string_param
-syn keyword ngxDirective contained xslt_stylesheet
-syn keyword ngxDirective contained xslt_types
-syn keyword ngxDirective contained zone
-syn keyword ngxDirective contained zone_sync
-syn keyword ngxDirective contained zone_sync_buffers
-syn keyword ngxDirective contained zone_sync_connect_retry_interval
-syn keyword ngxDirective contained zone_sync_connect_timeout
-syn keyword ngxDirective contained zone_sync_interval
-syn keyword ngxDirective contained zone_sync_recv_buffer_size
-syn keyword ngxDirective contained zone_sync_server
-syn keyword ngxDirective contained zone_sync_ssl
-syn keyword ngxDirective contained zone_sync_ssl_certificate
-syn keyword ngxDirective contained zone_sync_ssl_certificate_key
-syn keyword ngxDirective contained zone_sync_ssl_ciphers
-syn keyword ngxDirective contained zone_sync_ssl_crl
-syn keyword ngxDirective contained zone_sync_ssl_name
-syn keyword ngxDirective contained zone_sync_ssl_password_file
-syn keyword ngxDirective contained zone_sync_ssl_protocols
-syn keyword ngxDirective contained zone_sync_ssl_server_name
-syn keyword ngxDirective contained zone_sync_ssl_trusted_certificate
-syn keyword ngxDirective contained zone_sync_ssl_verify
-syn keyword ngxDirective contained zone_sync_ssl_verify_depth
-syn keyword ngxDirective contained zone_sync_timeout
-
-" 3rd party modules list taken from
-" https://github.com/freebsd/freebsd-ports/blob/master/www/nginx-devel/Makefile
-" -----------------------------------------------------------------------------
-
-" Accept Language
-" https://github.com/giom/nginx_accept_language_module
-syn keyword ngxDirectiveThirdParty contained set_from_accept_language
-
-" Digest Authentication
-" https://github.com/atomx/nginx-http-auth-digest
-syn keyword ngxDirectiveThirdParty contained auth_digest
-syn keyword ngxDirectiveThirdParty contained auth_digest_drop_time
-syn keyword ngxDirectiveThirdParty contained auth_digest_evasion_time
-syn keyword ngxDirectiveThirdParty contained auth_digest_expires
-syn keyword ngxDirectiveThirdParty contained auth_digest_maxtries
-syn keyword ngxDirectiveThirdParty contained auth_digest_replays
-syn keyword ngxDirectiveThirdParty contained auth_digest_shm_size
-syn keyword ngxDirectiveThirdParty contained auth_digest_timeout
-syn keyword ngxDirectiveThirdParty contained auth_digest_user_file
-
-" SPNEGO Authentication
-" https://github.com/stnoonan/spnego-http-auth-nginx-module
-syn keyword ngxDirectiveThirdParty contained auth_gss
-syn keyword ngxDirectiveThirdParty contained auth_gss_allow_basic_fallback
-syn keyword ngxDirectiveThirdParty contained auth_gss_authorized_principal
-syn keyword ngxDirectiveThirdParty contained auth_gss_force_realm
-syn keyword ngxDirectiveThirdParty contained auth_gss_format_full
-syn keyword ngxDirectiveThirdParty contained auth_gss_keytab
-syn keyword ngxDirectiveThirdParty contained auth_gss_realm
-syn keyword ngxDirectiveThirdParty contained auth_gss_service_name
-
-" LDAP Authentication
-" https://github.com/kvspb/nginx-auth-ldap
-syn keyword ngxDirectiveThirdParty contained auth_ldap
-syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_enabled
-syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_expiration_time
-syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_size
-syn keyword ngxDirectiveThirdParty contained auth_ldap_servers
-syn keyword ngxDirectiveThirdParty contained auth_ldap_servers_size
-syn keyword ngxDirectiveThirdParty contained ldap_server
-
-" PAM Authentication
-" https://github.com/sto/ngx_http_auth_pam_module
-syn keyword ngxDirectiveThirdParty contained auth_pam
-syn keyword ngxDirectiveThirdParty contained auth_pam_service_name
-syn keyword ngxDirectiveThirdParty contained auth_pam_set_pam_env
-
-" AJP protocol proxy
-" https://github.com/yaoweibin/nginx_ajp_module
-syn keyword ngxDirectiveThirdParty contained ajp_buffer_size
-syn keyword ngxDirectiveThirdParty contained ajp_buffers
-syn keyword ngxDirectiveThirdParty contained ajp_busy_buffers_size
-syn keyword ngxDirectiveThirdParty contained ajp_cache
-syn keyword ngxDirectiveThirdParty contained ajp_cache_key
-syn keyword ngxDirectiveThirdParty contained ajp_cache_lock
-syn keyword ngxDirectiveThirdParty contained ajp_cache_lock_timeout
-syn keyword ngxDirectiveThirdParty contained ajp_cache_methods
-syn keyword ngxDirectiveThirdParty contained ajp_cache_min_uses
-syn keyword ngxDirectiveThirdParty contained ajp_cache_path
-syn keyword ngxDirectiveThirdParty contained ajp_cache_use_stale
-syn keyword ngxDirectiveThirdParty contained ajp_cache_valid
-syn keyword ngxDirectiveThirdParty contained ajp_connect_timeout
-syn keyword ngxDirectiveThirdParty contained ajp_header_packet_buffer_size
-syn keyword ngxDirectiveThirdParty contained ajp_hide_header
-syn keyword ngxDirectiveThirdParty contained ajp_ignore_client_abort
-syn keyword ngxDirectiveThirdParty contained ajp_ignore_headers
-syn keyword ngxDirectiveThirdParty contained ajp_intercept_errors
-syn keyword ngxDirectiveThirdParty contained ajp_keep_conn
-syn keyword ngxDirectiveThirdParty contained ajp_max_data_packet_size
-syn keyword ngxDirectiveThirdParty contained ajp_max_temp_file_size
-syn keyword ngxDirectiveThirdParty contained ajp_next_upstream
-syn keyword ngxDirectiveThirdParty contained ajp_pass
-syn keyword ngxDirectiveThirdParty contained ajp_pass_header
-syn keyword ngxDirectiveThirdParty contained ajp_pass_request_body
-syn keyword ngxDirectiveThirdParty contained ajp_pass_request_headers
-syn keyword ngxDirectiveThirdParty contained ajp_read_timeout
-syn keyword ngxDirectiveThirdParty contained ajp_send_lowat
-syn keyword ngxDirectiveThirdParty contained ajp_send_timeout
-syn keyword ngxDirectiveThirdParty contained ajp_store
-syn keyword ngxDirectiveThirdParty contained ajp_store_access
-syn keyword ngxDirectiveThirdParty contained ajp_temp_file_write_size
-syn keyword ngxDirectiveThirdParty contained ajp_temp_path
-syn keyword ngxDirectiveThirdParty contained ajp_upstream_fail_timeout
-syn keyword ngxDirectiveThirdParty contained ajp_upstream_max_fails
-
-" AWS proxy
-" https://github.com/anomalizer/ngx_aws_auth
-syn keyword ngxDirectiveThirdParty contained aws_access_key
-syn keyword ngxDirectiveThirdParty contained aws_endpoint
-syn keyword ngxDirectiveThirdParty contained aws_key_scope
-syn keyword ngxDirectiveThirdParty contained aws_s3_bucket
-syn keyword ngxDirectiveThirdParty contained aws_sign
-syn keyword ngxDirectiveThirdParty contained aws_signing_key
-
-" embedding Clojure or Java or Groovy programs
-" https://github.com/nginx-clojure/nginx-clojure
-syn keyword ngxDirectiveThirdParty contained access_handler_code
-syn keyword ngxDirectiveThirdParty contained access_handler_name
-syn keyword ngxDirectiveThirdParty contained access_handler_property
-syn keyword ngxDirectiveThirdParty contained access_handler_type
-syn keyword ngxDirectiveThirdParty contained always_read_body
-syn keyword ngxDirectiveThirdParty contained auto_upgrade_ws
-syn keyword ngxDirectiveThirdParty contained body_filter_code
-syn keyword ngxDirectiveThirdParty contained body_filter_name
-syn keyword ngxDirectiveThirdParty contained body_filter_property
-syn keyword ngxDirectiveThirdParty contained body_filter_type
-syn keyword ngxDirectiveThirdParty contained content_handler_code
-syn keyword ngxDirectiveThirdParty contained content_handler_name
-syn keyword ngxDirectiveThirdParty contained content_handler_property
-syn keyword ngxDirectiveThirdParty contained content_handler_type
-syn keyword ngxDirectiveThirdParty contained handler_code
-syn keyword ngxDirectiveThirdParty contained handler_name
-syn keyword ngxDirectiveThirdParty contained handler_type
-syn keyword ngxDirectiveThirdParty contained handlers_lazy_init
-syn keyword ngxDirectiveThirdParty contained header_filter_code
-syn keyword ngxDirectiveThirdParty contained header_filter_name
-syn keyword ngxDirectiveThirdParty contained header_filter_property
-syn keyword ngxDirectiveThirdParty contained header_filter_type
-syn keyword ngxDirectiveThirdParty contained jvm_classpath
-syn keyword ngxDirectiveThirdParty contained jvm_classpath_check
-syn keyword ngxDirectiveThirdParty contained jvm_exit_handler_code
-syn keyword ngxDirectiveThirdParty contained jvm_exit_handler_name
-syn keyword ngxDirectiveThirdParty contained jvm_handler_type
-syn keyword ngxDirectiveThirdParty contained jvm_init_handler_code
-syn keyword ngxDirectiveThirdParty contained jvm_init_handler_name
-syn keyword ngxDirectiveThirdParty contained jvm_options
-syn keyword ngxDirectiveThirdParty contained jvm_path
-syn keyword ngxDirectiveThirdParty contained jvm_var
-syn keyword ngxDirectiveThirdParty contained jvm_workers
-syn keyword ngxDirectiveThirdParty contained max_balanced_tcp_connections
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_code
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_name
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_property
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_type
-syn keyword ngxDirectiveThirdParty contained shared_map
-syn keyword ngxDirectiveThirdParty contained write_page_size
-
-" Certificate Transparency
-" https://github.com/grahamedgecombe/nginx-ct
-syn keyword ngxDirectiveThirdParty contained ssl_ct
-syn keyword ngxDirectiveThirdParty contained ssl_ct_static_scts
-
-" ngx_echo
-" https://github.com/openresty/echo-nginx-module
-syn keyword ngxDirectiveThirdParty contained echo_abort_parent
-syn keyword ngxDirectiveThirdParty contained echo_after_body
-syn keyword ngxDirectiveThirdParty contained echo_before_body
-syn keyword ngxDirectiveThirdParty contained echo_blocking_sleep
-syn keyword ngxDirectiveThirdParty contained echo_end
-syn keyword ngxDirectiveThirdParty contained echo_exec
-syn keyword ngxDirectiveThirdParty contained echo_flush
-syn keyword ngxDirectiveThirdParty contained echo_foreach_split
-syn keyword ngxDirectiveThirdParty contained echo_location
-syn keyword ngxDirectiveThirdParty contained echo_location_async
-syn keyword ngxDirectiveThirdParty contained echo_read_request_body
-syn keyword ngxDirectiveThirdParty contained echo_request_body
-syn keyword ngxDirectiveThirdParty contained echo_reset_timer
-syn keyword ngxDirectiveThirdParty contained echo_status
-syn keyword ngxDirectiveThirdParty contained echo_subrequest
-syn keyword ngxDirectiveThirdParty contained echo_subrequest_async
-
-" FastDFS
-" https://github.com/happyfish100/fastdfs-nginx-module
-syn keyword ngxDirectiveThirdParty contained ngx_fastdfs_module
-
-" ngx_headers_more
-" https://github.com/openresty/headers-more-nginx-module
-syn keyword ngxDirectiveThirdParty contained more_clear_headers
-syn keyword ngxDirectiveThirdParty contained more_clear_input_headers
-syn keyword ngxDirectiveThirdParty contained more_set_headers
-syn keyword ngxDirectiveThirdParty contained more_set_input_headers
-
-" NGINX WebDAV missing commands support (PROPFIND & OPTIONS)
-" https://github.com/arut/nginx-dav-ext-module
-syn keyword ngxDirectiveThirdParty contained dav_ext_lock
-syn keyword ngxDirectiveThirdParty contained dav_ext_lock_zone
-syn keyword ngxDirectiveThirdParty contained dav_ext_methods
-
-" ngx_eval
-" https://github.com/openresty/nginx-eval-module
-syn keyword ngxDirectiveThirdParty contained eval
-syn keyword ngxDirectiveThirdParty contained eval_buffer_size
-syn keyword ngxDirectiveThirdParty contained eval_escalate
-syn keyword ngxDirectiveThirdParty contained eval_override_content_type
-syn keyword ngxDirectiveThirdParty contained eval_subrequest_in_memory
-
-" Fancy Index
-" https://github.com/aperezdc/ngx-fancyindex
-syn keyword ngxDirectiveThirdParty contained fancyindex
-syn keyword ngxDirectiveThirdParty contained fancyindex_css_href
-syn keyword ngxDirectiveThirdParty contained fancyindex_default_sort
-syn keyword ngxDirectiveThirdParty contained fancyindex_directories_first
-syn keyword ngxDirectiveThirdParty contained fancyindex_exact_size
-syn keyword ngxDirectiveThirdParty contained fancyindex_footer
-syn keyword ngxDirectiveThirdParty contained fancyindex_header
-syn keyword ngxDirectiveThirdParty contained fancyindex_hide_parent_dir
-syn keyword ngxDirectiveThirdParty contained fancyindex_hide_symlinks
-syn keyword ngxDirectiveThirdParty contained fancyindex_ignore
-syn keyword ngxDirectiveThirdParty contained fancyindex_localtime
-syn keyword ngxDirectiveThirdParty contained fancyindex_name_length
-syn keyword ngxDirectiveThirdParty contained fancyindex_show_path
-syn keyword ngxDirectiveThirdParty contained fancyindex_time_format
-
-" Footer filter
-" https://github.com/alibaba/nginx-http-footer-filter
-syn keyword ngxDirectiveThirdParty contained footer
-syn keyword ngxDirectiveThirdParty contained footer_types
-
-" ngx_http_geoip2_module
-" https://github.com/leev/ngx_http_geoip2_module
-syn keyword ngxDirectiveThirdParty contained geoip2
-syn keyword ngxDirectiveThirdParty contained geoip2_proxy
-syn keyword ngxDirectiveThirdParty contained geoip2_proxy_recursive
-
-" A version of the Nginx HTTP stub status module that outputs in JSON format
-" https://github.com/nginx-modules/nginx-json-status-module
-syn keyword ngxDirectiveThirdParty contained json_status
-syn keyword ngxDirectiveThirdParty contained json_status_type
-
-" MogileFS client for nginx
-" https://github.com/vkholodkov/nginx-mogilefs-module
-syn keyword ngxDirectiveThirdParty contained mogilefs_class
-syn keyword ngxDirectiveThirdParty contained mogilefs_connect_timeout
-syn keyword ngxDirectiveThirdParty contained mogilefs_domain
-syn keyword ngxDirectiveThirdParty contained mogilefs_methods
-syn keyword ngxDirectiveThirdParty contained mogilefs_noverify
-syn keyword ngxDirectiveThirdParty contained mogilefs_pass
-syn keyword ngxDirectiveThirdParty contained mogilefs_read_timeout
-syn keyword ngxDirectiveThirdParty contained mogilefs_send_timeout
-syn keyword ngxDirectiveThirdParty contained mogilefs_tracker
-
-" Ancient nginx plugin; probably not useful to anyone
-" https://github.com/kr/nginx-notice
-syn keyword ngxDirectiveThirdParty contained notice
-syn keyword ngxDirectiveThirdParty contained notice_type
-
-" nchan
-" https://github.com/slact/nchan
-syn keyword ngxDirectiveThirdParty contained nchan_access_control_allow_credentials
-syn keyword ngxDirectiveThirdParty contained nchan_access_control_allow_origin
-syn keyword ngxDirectiveThirdParty contained nchan_authorize_request
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_channels
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_message_padding_bytes
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_messages_per_channel_per_minute
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_publisher_distribution
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_subscriber_distribution
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_subscribers_per_channel
-syn keyword ngxDirectiveThirdParty contained nchan_benchmark_time
-syn keyword ngxDirectiveThirdParty contained nchan_channel_event_string
-syn keyword ngxDirectiveThirdParty contained nchan_channel_events_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_channel_group
-syn keyword ngxDirectiveThirdParty contained nchan_channel_group_accounting
-syn keyword ngxDirectiveThirdParty contained nchan_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_channel_id_split_delimiter
-syn keyword ngxDirectiveThirdParty contained nchan_channel_timeout
-syn keyword ngxDirectiveThirdParty contained nchan_deflate_message_for_websocket
-syn keyword ngxDirectiveThirdParty contained nchan_eventsource_event
-syn keyword ngxDirectiveThirdParty contained nchan_group_location
-syn keyword ngxDirectiveThirdParty contained nchan_group_max_channels
-syn keyword ngxDirectiveThirdParty contained nchan_group_max_messages
-syn keyword ngxDirectiveThirdParty contained nchan_group_max_messages_disk
-syn keyword ngxDirectiveThirdParty contained nchan_group_max_messages_memory
-syn keyword ngxDirectiveThirdParty contained nchan_group_max_subscribers
-syn keyword ngxDirectiveThirdParty contained nchan_longpoll_multipart_response
-syn keyword ngxDirectiveThirdParty contained nchan_max_channel_id_length
-syn keyword ngxDirectiveThirdParty contained nchan_max_channel_subscribers
-syn keyword ngxDirectiveThirdParty contained nchan_max_reserved_memory
-syn keyword ngxDirectiveThirdParty contained nchan_message_buffer_length
-syn keyword ngxDirectiveThirdParty contained nchan_message_max_buffer_length
-syn keyword ngxDirectiveThirdParty contained nchan_message_temp_path
-syn keyword ngxDirectiveThirdParty contained nchan_message_timeout
-syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_level
-syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_memlevel
-syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_strategy
-syn keyword ngxDirectiveThirdParty contained nchan_permessage_deflate_compression_window
-syn keyword ngxDirectiveThirdParty contained nchan_pub_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_publisher
-syn keyword ngxDirectiveThirdParty contained nchan_publisher_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_publisher_location
-syn keyword ngxDirectiveThirdParty contained nchan_publisher_upstream_request
-syn keyword ngxDirectiveThirdParty contained nchan_pubsub
-syn keyword ngxDirectiveThirdParty contained nchan_pubsub_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_pubsub_location
-syn keyword ngxDirectiveThirdParty contained nchan_redis_connect_timeout
-syn keyword ngxDirectiveThirdParty contained nchan_redis_fakesub_timer_interval
-syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_cache_timeout
-syn keyword ngxDirectiveThirdParty contained nchan_redis_namespace
-syn keyword ngxDirectiveThirdParty contained nchan_redis_nostore_fastpublish
-syn keyword ngxDirectiveThirdParty contained nchan_redis_optimize_target
-syn keyword ngxDirectiveThirdParty contained nchan_redis_pass
-syn keyword ngxDirectiveThirdParty contained nchan_redis_pass_inheritable
-syn keyword ngxDirectiveThirdParty contained nchan_redis_ping_interval
-syn keyword ngxDirectiveThirdParty contained nchan_redis_publish_msgpacked_max_size
-syn keyword ngxDirectiveThirdParty contained nchan_redis_server
-syn keyword ngxDirectiveThirdParty contained nchan_redis_storage_mode
-syn keyword ngxDirectiveThirdParty contained nchan_redis_subscribe_weights
-syn keyword ngxDirectiveThirdParty contained nchan_redis_url
-syn keyword ngxDirectiveThirdParty contained nchan_redis_wait_after_connecting
-syn keyword ngxDirectiveThirdParty contained nchan_shared_memory_size
-syn keyword ngxDirectiveThirdParty contained nchan_storage_engine
-syn keyword ngxDirectiveThirdParty contained nchan_store_messages
-syn keyword ngxDirectiveThirdParty contained nchan_stub_status
-syn keyword ngxDirectiveThirdParty contained nchan_sub_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_subscribe_existing_channels_only
-syn keyword ngxDirectiveThirdParty contained nchan_subscribe_request
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_compound_etag_message_id
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_first_message
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_http_raw_stream_separator
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_last_message_id
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_location
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_message_id_custom_etag_header
-syn keyword ngxDirectiveThirdParty contained nchan_subscriber_timeout
-syn keyword ngxDirectiveThirdParty contained nchan_unsubscribe_request
-syn keyword ngxDirectiveThirdParty contained nchan_use_redis
-syn keyword ngxDirectiveThirdParty contained nchan_websocket_client_heartbeat
-syn keyword ngxDirectiveThirdParty contained nchan_websocket_ping_interval
-syn keyword ngxDirectiveThirdParty contained push_authorized_channels_only
-syn keyword ngxDirectiveThirdParty contained push_channel_group
-syn keyword ngxDirectiveThirdParty contained push_channel_timeout
-syn keyword ngxDirectiveThirdParty contained push_max_channel_id_length
-syn keyword ngxDirectiveThirdParty contained push_max_channel_subscribers
-syn keyword ngxDirectiveThirdParty contained push_max_message_buffer_length
-syn keyword ngxDirectiveThirdParty contained push_max_reserved_memory
-syn keyword ngxDirectiveThirdParty contained push_message_buffer_length
-syn keyword ngxDirectiveThirdParty contained push_message_timeout
-syn keyword ngxDirectiveThirdParty contained push_min_message_buffer_length
-syn keyword ngxDirectiveThirdParty contained push_publisher
-syn keyword ngxDirectiveThirdParty contained push_store_messages
-syn keyword ngxDirectiveThirdParty contained push_subscriber
-syn keyword ngxDirectiveThirdParty contained push_subscriber_concurrency
-syn keyword ngxDirectiveThirdParty contained push_subscriber_timeout
-
-" Push Stream
-" https://github.com/wandenberg/nginx-push-stream-module
-syn keyword ngxDirectiveThirdParty contained push_stream_allow_connections_to_events_channel
-syn keyword ngxDirectiveThirdParty contained push_stream_allowed_origins
-syn keyword ngxDirectiveThirdParty contained push_stream_authorized_channels_only
-syn keyword ngxDirectiveThirdParty contained push_stream_channel_deleted_message_text
-syn keyword ngxDirectiveThirdParty contained push_stream_channel_inactivity_time
-syn keyword ngxDirectiveThirdParty contained push_stream_channel_info_on_publish
-syn keyword ngxDirectiveThirdParty contained push_stream_channels_path
-syn keyword ngxDirectiveThirdParty contained push_stream_channels_statistics
-syn keyword ngxDirectiveThirdParty contained push_stream_events_channel_id
-syn keyword ngxDirectiveThirdParty contained push_stream_footer_template
-syn keyword ngxDirectiveThirdParty contained push_stream_header_template
-syn keyword ngxDirectiveThirdParty contained push_stream_header_template_file
-syn keyword ngxDirectiveThirdParty contained push_stream_last_event_id
-syn keyword ngxDirectiveThirdParty contained push_stream_last_received_message_tag
-syn keyword ngxDirectiveThirdParty contained push_stream_last_received_message_time
-syn keyword ngxDirectiveThirdParty contained push_stream_longpolling_connection_ttl
-syn keyword ngxDirectiveThirdParty contained push_stream_max_channel_id_length
-syn keyword ngxDirectiveThirdParty contained push_stream_max_messages_stored_per_channel
-syn keyword ngxDirectiveThirdParty contained push_stream_max_number_of_channels
-syn keyword ngxDirectiveThirdParty contained push_stream_max_number_of_wildcard_channels
-syn keyword ngxDirectiveThirdParty contained push_stream_max_subscribers_per_channel
-syn keyword ngxDirectiveThirdParty contained push_stream_message_template
-syn keyword ngxDirectiveThirdParty contained push_stream_message_ttl
-syn keyword ngxDirectiveThirdParty contained push_stream_padding_by_user_agent
-syn keyword ngxDirectiveThirdParty contained push_stream_ping_message_interval
-syn keyword ngxDirectiveThirdParty contained push_stream_ping_message_text
-syn keyword ngxDirectiveThirdParty contained push_stream_publisher
-syn keyword ngxDirectiveThirdParty contained push_stream_shared_memory_size
-syn keyword ngxDirectiveThirdParty contained push_stream_store_messages
-syn keyword ngxDirectiveThirdParty contained push_stream_subscriber
-syn keyword ngxDirectiveThirdParty contained push_stream_subscriber_connection_ttl
-syn keyword ngxDirectiveThirdParty contained push_stream_timeout_with_body
-syn keyword ngxDirectiveThirdParty contained push_stream_user_agent
-syn keyword ngxDirectiveThirdParty contained push_stream_websocket_allow_publish
-syn keyword ngxDirectiveThirdParty contained push_stream_wildcard_channel_max_qtd
-syn keyword ngxDirectiveThirdParty contained push_stream_wildcard_channel_prefix
-
-" redis module
-" https://www.nginx.com/resources/wiki/modules/redis/
-syn keyword ngxDirectiveThirdParty contained redis_bind
-syn keyword ngxDirectiveThirdParty contained redis_buffer_size
-syn keyword ngxDirectiveThirdParty contained redis_connect_timeout
-syn keyword ngxDirectiveThirdParty contained redis_gzip_flag
-syn keyword ngxDirectiveThirdParty contained redis_next_upstream
-syn keyword ngxDirectiveThirdParty contained redis_pass
-syn keyword ngxDirectiveThirdParty contained redis_read_timeout
-syn keyword ngxDirectiveThirdParty contained redis_send_timeout
-
-" ngx_http_response
-" http://catap.ru/downloads/nginx/
-syn keyword ngxDirectiveThirdParty contained response
-syn keyword ngxDirectiveThirdParty contained response_type
-
-" nginx_substitutions_filter
-" https://github.com/yaoweibin/ngx_http_substitutions_filter_module
-syn keyword ngxDirectiveThirdParty contained subs_buffers
-syn keyword ngxDirectiveThirdParty contained subs_filter
-syn keyword ngxDirectiveThirdParty contained subs_filter_bypass
-syn keyword ngxDirectiveThirdParty contained subs_filter_types
-syn keyword ngxDirectiveThirdParty contained subs_line_buffer_size
-
-" Tarantool nginx upstream module
-" https://github.com/tarantool/nginx_upstream_module
-syn keyword ngxDirectiveThirdParty contained tnt_allowed_indexes
-syn keyword ngxDirectiveThirdParty contained tnt_allowed_spaces
-syn keyword ngxDirectiveThirdParty contained tnt_buffer_size
-syn keyword ngxDirectiveThirdParty contained tnt_connect_timeout
-syn keyword ngxDirectiveThirdParty contained tnt_delete
-syn keyword ngxDirectiveThirdParty contained tnt_http_methods
-syn keyword ngxDirectiveThirdParty contained tnt_http_rest_methods
-syn keyword ngxDirectiveThirdParty contained tnt_in_multiplier
-syn keyword ngxDirectiveThirdParty contained tnt_insert
-syn keyword ngxDirectiveThirdParty contained tnt_method
-syn keyword ngxDirectiveThirdParty contained tnt_multireturn_skip_count
-syn keyword ngxDirectiveThirdParty contained tnt_next_upstream
-syn keyword ngxDirectiveThirdParty contained tnt_next_upstream_timeout
-syn keyword ngxDirectiveThirdParty contained tnt_next_upstream_tries
-syn keyword ngxDirectiveThirdParty contained tnt_out_multiplier
-syn keyword ngxDirectiveThirdParty contained tnt_pass
-syn keyword ngxDirectiveThirdParty contained tnt_pass_http_request
-syn keyword ngxDirectiveThirdParty contained tnt_pass_http_request_buffer_size
-syn keyword ngxDirectiveThirdParty contained tnt_pure_result
-syn keyword ngxDirectiveThirdParty contained tnt_read_timeout
-syn keyword ngxDirectiveThirdParty contained tnt_replace
-syn keyword ngxDirectiveThirdParty contained tnt_select
-syn keyword ngxDirectiveThirdParty contained tnt_select_limit_max
-syn keyword ngxDirectiveThirdParty contained tnt_send_timeout
-syn keyword ngxDirectiveThirdParty contained tnt_set_header
-syn keyword ngxDirectiveThirdParty contained tnt_update
-syn keyword ngxDirectiveThirdParty contained tnt_upsert
-
-" A module for nginx web server for handling file uploads using multipart/form-data encoding (RFC 1867)
-" https://github.com/Austinb/nginx-upload-module
-syn keyword ngxDirectiveThirdParty contained upload_aggregate_form_field
-syn keyword ngxDirectiveThirdParty contained upload_archive_elm
-syn keyword ngxDirectiveThirdParty contained upload_archive_elm_separator
-syn keyword ngxDirectiveThirdParty contained upload_archive_path
-syn keyword ngxDirectiveThirdParty contained upload_archive_path_separator
-syn keyword ngxDirectiveThirdParty contained upload_buffer_size
-syn keyword ngxDirectiveThirdParty contained upload_cleanup
-syn keyword ngxDirectiveThirdParty contained upload_content_type
-syn keyword ngxDirectiveThirdParty contained upload_discard
-syn keyword ngxDirectiveThirdParty contained upload_field_name
-syn keyword ngxDirectiveThirdParty contained upload_file_crc32
-syn keyword ngxDirectiveThirdParty contained upload_file_md5
-syn keyword ngxDirectiveThirdParty contained upload_file_md5_uc
-syn keyword ngxDirectiveThirdParty contained upload_file_name
-syn keyword ngxDirectiveThirdParty contained upload_file_sha1
-syn keyword ngxDirectiveThirdParty contained upload_file_sha1_uc
-syn keyword ngxDirectiveThirdParty contained upload_file_size
-syn keyword ngxDirectiveThirdParty contained upload_filter
-syn keyword ngxDirectiveThirdParty contained upload_max_file_size
-syn keyword ngxDirectiveThirdParty contained upload_max_output_body_len
-syn keyword ngxDirectiveThirdParty contained upload_max_part_header_len
-syn keyword ngxDirectiveThirdParty contained upload_pass
-syn keyword ngxDirectiveThirdParty contained upload_pass_args
-syn keyword ngxDirectiveThirdParty contained upload_pass_form_field
-syn keyword ngxDirectiveThirdParty contained upload_set_form_field
-syn keyword ngxDirectiveThirdParty contained upload_store
-syn keyword ngxDirectiveThirdParty contained upload_store_access
-syn keyword ngxDirectiveThirdParty contained upload_tmp_path
-syn keyword ngxDirectiveThirdParty contained upload_unzip
-syn keyword ngxDirectiveThirdParty contained upload_unzip_buffers
-syn keyword ngxDirectiveThirdParty contained upload_unzip_hash
-syn keyword ngxDirectiveThirdParty contained upload_unzip_max_file_name_len
-syn keyword ngxDirectiveThirdParty contained upload_unzip_window
-syn keyword ngxDirectiveThirdParty contained upload_void_content_type
-
-" nginx-upload-progress-module
-" https://github.com/masterzen/nginx-upload-progress-module
-syn keyword ngxDirectiveThirdParty contained report_uploads
-syn keyword ngxDirectiveThirdParty contained track_uploads
-syn keyword ngxDirectiveThirdParty contained upload_progress
-syn keyword ngxDirectiveThirdParty contained upload_progress_content_type
-syn keyword ngxDirectiveThirdParty contained upload_progress_header
-syn keyword ngxDirectiveThirdParty contained upload_progress_java_output
-syn keyword ngxDirectiveThirdParty contained upload_progress_json_output
-syn keyword ngxDirectiveThirdParty contained upload_progress_jsonp_output
-syn keyword ngxDirectiveThirdParty contained upload_progress_jsonp_parameter
-syn keyword ngxDirectiveThirdParty contained upload_progress_template
-
-" Health checks upstreams for nginx
-" https://github.com/yaoweibin/nginx_upstream_check_module
-syn keyword ngxDirectiveThirdParty contained check
-syn keyword ngxDirectiveThirdParty contained check_fastcgi_param
-syn keyword ngxDirectiveThirdParty contained check_http_expect_alive
-syn keyword ngxDirectiveThirdParty contained check_http_send
-syn keyword ngxDirectiveThirdParty contained check_keepalive_requests
-syn keyword ngxDirectiveThirdParty contained check_shm_size
-syn keyword ngxDirectiveThirdParty contained check_status
-
-" The fair load balancer module for nginx
-" https://github.com/cryptofuture/nginx-upstream-fair
-syn keyword ngxDirectiveThirdParty contained fair
-syn keyword ngxDirectiveThirdParty contained upstream_fair_shm_size
-
-" Nginx Video Thumb Extractor Module
-" https://github.com/wandenberg/nginx-video-thumbextractor-module
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_image_height
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_image_width
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_baseline
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_dpi
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_optimize
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_progressive_mode
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_quality
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_jpeg_smooth
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_next_time
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_only_keyframe
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_processes_per_worker
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_threads
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_color
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_cols
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_margin
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_max_cols
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_max_rows
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_padding
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_rows
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_tile_sample_interval
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_video_filename
-syn keyword ngxDirectiveThirdParty contained video_thumbextractor_video_second
-
-" drizzle-nginx-module - Upstream module for talking to MySQL and Drizzle directly
-" https://github.com/openresty/drizzle-nginx-module
-syn keyword ngxDirectiveThirdParty contained drizzle_buffer_size
-syn keyword ngxDirectiveThirdParty contained drizzle_connect_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_dbname
-syn keyword ngxDirectiveThirdParty contained drizzle_keepalive
-syn keyword ngxDirectiveThirdParty contained drizzle_module_header
-syn keyword ngxDirectiveThirdParty contained drizzle_pass
-syn keyword ngxDirectiveThirdParty contained drizzle_query
-syn keyword ngxDirectiveThirdParty contained drizzle_recv_cols_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_recv_rows_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_send_query_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_server
-syn keyword ngxDirectiveThirdParty contained drizzle_status
-
-" ngx_dynamic_upstream
-" https://github.com/cubicdaiya/ngx_dynamic_upstream
-syn keyword ngxDirectiveThirdParty contained dynamic_upstream
-
-" encrypt and decrypt nginx variable values
-" https://github.com/openresty/encrypted-session-nginx-module
-syn keyword ngxDirectiveThirdParty contained encrypted_session_expires
-syn keyword ngxDirectiveThirdParty contained encrypted_session_iv
-syn keyword ngxDirectiveThirdParty contained encrypted_session_key
-syn keyword ngxDirectiveThirdParty contained set_decrypt_session
-syn keyword ngxDirectiveThirdParty contained set_encrypt_session
-
-" serve content directly from MongoDB's GridFS
-" https://github.com/mdirolf/nginx-gridfs
-syn keyword ngxDirectiveThirdParty contained gridfs
-syn keyword ngxDirectiveThirdParty contained mongo
-
-" Adds support for arithmetic operations to NGINX config
-" https://github.com/arut/nginx-let-module
-syn keyword ngxDirectiveThirdParty contained let
-
-" ngx_http_lua_module - Embed the power of Lua into Nginx HTTP Servers
-" https://github.com/openresty/lua-nginx-module
-syn keyword ngxDirectiveThirdParty contained access_by_lua
-syn keyword ngxDirectiveThirdParty contained access_by_lua_block
-syn keyword ngxDirectiveThirdParty contained access_by_lua_file
-syn keyword ngxDirectiveThirdParty contained access_by_lua_no_postpone
-syn keyword ngxDirectiveThirdParty contained balancer_by_lua_block
-syn keyword ngxDirectiveThirdParty contained balancer_by_lua_file
-syn keyword ngxDirectiveThirdParty contained body_filter_by_lua
-syn keyword ngxDirectiveThirdParty contained body_filter_by_lua_block
-syn keyword ngxDirectiveThirdParty contained body_filter_by_lua_file
-syn keyword ngxDirectiveThirdParty contained content_by_lua
-syn keyword ngxDirectiveThirdParty contained content_by_lua_block
-syn keyword ngxDirectiveThirdParty contained content_by_lua_file
-syn keyword ngxDirectiveThirdParty contained header_filter_by_lua
-syn keyword ngxDirectiveThirdParty contained header_filter_by_lua_block
-syn keyword ngxDirectiveThirdParty contained header_filter_by_lua_file
-syn keyword ngxDirectiveThirdParty contained init_by_lua
-syn keyword ngxDirectiveThirdParty contained init_by_lua_block
-syn keyword ngxDirectiveThirdParty contained init_by_lua_file
-syn keyword ngxDirectiveThirdParty contained init_worker_by_lua
-syn keyword ngxDirectiveThirdParty contained init_worker_by_lua_block
-syn keyword ngxDirectiveThirdParty contained init_worker_by_lua_file
-syn keyword ngxDirectiveThirdParty contained log_by_lua
-syn keyword ngxDirectiveThirdParty contained log_by_lua_block
-syn keyword ngxDirectiveThirdParty contained log_by_lua_file
-syn keyword ngxDirectiveThirdParty contained lua_capture_error_log
-syn keyword ngxDirectiveThirdParty contained lua_check_client_abort
-syn keyword ngxDirectiveThirdParty contained lua_code_cache
-syn keyword ngxDirectiveThirdParty contained lua_fake_shm
-syn keyword ngxDirectiveThirdParty contained lua_http10_buffering
-syn keyword ngxDirectiveThirdParty contained lua_malloc_trim
-syn keyword ngxDirectiveThirdParty contained lua_max_pending_timers
-syn keyword ngxDirectiveThirdParty contained lua_max_running_timers
-syn keyword ngxDirectiveThirdParty contained lua_need_request_body
-syn keyword ngxDirectiveThirdParty contained lua_package_cpath
-syn keyword ngxDirectiveThirdParty contained lua_package_path
-syn keyword ngxDirectiveThirdParty contained lua_regex_cache_max_entries
-syn keyword ngxDirectiveThirdParty contained lua_regex_match_limit
-syn keyword ngxDirectiveThirdParty contained lua_sa_restart
-syn keyword ngxDirectiveThirdParty contained lua_shared_dict
-syn keyword ngxDirectiveThirdParty contained lua_socket_buffer_size
-syn keyword ngxDirectiveThirdParty contained lua_socket_connect_timeout
-syn keyword ngxDirectiveThirdParty contained lua_socket_keepalive_timeout
-syn keyword ngxDirectiveThirdParty contained lua_socket_log_errors
-syn keyword ngxDirectiveThirdParty contained lua_socket_pool_size
-syn keyword ngxDirectiveThirdParty contained lua_socket_read_timeout
-syn keyword ngxDirectiveThirdParty contained lua_socket_send_lowat
-syn keyword ngxDirectiveThirdParty contained lua_socket_send_timeout
-syn keyword ngxDirectiveThirdParty contained lua_ssl_ciphers
-syn keyword ngxDirectiveThirdParty contained lua_ssl_crl
-syn keyword ngxDirectiveThirdParty contained lua_ssl_protocols
-syn keyword ngxDirectiveThirdParty contained lua_ssl_trusted_certificate
-syn keyword ngxDirectiveThirdParty contained lua_ssl_verify_depth
-syn keyword ngxDirectiveThirdParty contained lua_transform_underscores_in_response_headers
-syn keyword ngxDirectiveThirdParty contained lua_use_default_type
-syn keyword ngxDirectiveThirdParty contained rewrite_by_lua
-syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_block
-syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_file
-syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_no_postpone
-syn keyword ngxDirectiveThirdParty contained set_by_lua
-syn keyword ngxDirectiveThirdParty contained set_by_lua_block
-syn keyword ngxDirectiveThirdParty contained set_by_lua_file
-syn keyword ngxDirectiveThirdParty contained ssl_certificate_by_lua_block
-syn keyword ngxDirectiveThirdParty contained ssl_certificate_by_lua_file
-syn keyword ngxDirectiveThirdParty contained ssl_session_fetch_by_lua_block
-syn keyword ngxDirectiveThirdParty contained ssl_session_fetch_by_lua_file
-syn keyword ngxDirectiveThirdParty contained ssl_session_store_by_lua_block
-syn keyword ngxDirectiveThirdParty contained ssl_session_store_by_lua_file
-
-" ngx_memc - An extended version of the standard memcached module
-" https://github.com/openresty/memc-nginx-module
-syn keyword ngxDirectiveThirdParty contained memc_buffer_size
-syn keyword ngxDirectiveThirdParty contained memc_cmds_allowed
-syn keyword ngxDirectiveThirdParty contained memc_connect_timeout
-syn keyword ngxDirectiveThirdParty contained memc_flags_to_last_modified
-syn keyword ngxDirectiveThirdParty contained memc_ignore_client_abort
-syn keyword ngxDirectiveThirdParty contained memc_next_upstream
-syn keyword ngxDirectiveThirdParty contained memc_pass
-syn keyword ngxDirectiveThirdParty contained memc_read_timeout
-syn keyword ngxDirectiveThirdParty contained memc_send_timeout
-syn keyword ngxDirectiveThirdParty contained memc_upstream_fail_timeout
-syn keyword ngxDirectiveThirdParty contained memc_upstream_max_fails
-
-" ModSecurity web application firewall
-" https://github.com/SpiderLabs/ModSecurity/tree/master
-syn keyword ngxDirectiveThirdParty contained ModSecurityConfig
-syn keyword ngxDirectiveThirdParty contained ModSecurityEnabled
-syn keyword ngxDirectiveThirdParty contained pool_context_hash_size
-
-" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX
-" https://github.com/nbs-system/naxsi
-syn keyword ngxDirectiveThirdParty contained BasicRule
-syn keyword ngxDirectiveThirdParty contained CheckRule
-syn keyword ngxDirectiveThirdParty contained DeniedUrl
-syn keyword ngxDirectiveThirdParty contained LearningMode
-syn keyword ngxDirectiveThirdParty contained LibInjectionSql
-syn keyword ngxDirectiveThirdParty contained LibInjectionXss
-syn keyword ngxDirectiveThirdParty contained MainRule
-syn keyword ngxDirectiveThirdParty contained SecRulesDisabled
-syn keyword ngxDirectiveThirdParty contained SecRulesEnabled
-syn keyword ngxDirectiveThirdParty contained basic_rule
-syn keyword ngxDirectiveThirdParty contained check_rule
-syn keyword ngxDirectiveThirdParty contained denied_url
-syn keyword ngxDirectiveThirdParty contained learning_mode
-syn keyword ngxDirectiveThirdParty contained libinjection_sql
-syn keyword ngxDirectiveThirdParty contained libinjection_xss
-syn keyword ngxDirectiveThirdParty contained main_rule
-syn keyword ngxDirectiveThirdParty contained rules_disabled
-syn keyword ngxDirectiveThirdParty contained rules_enabled
-
-" Phusion Passenger
-" https://www.phusionpassenger.com/library/config/nginx/reference/
-syn keyword ngxDirectiveThirdParty contained passenger_abort_on_startup_error
-syn keyword ngxDirectiveThirdParty contained passenger_abort_websockets_on_process_shutdown
-syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_auth_type
-syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_password
-syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_url
-syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_username
-syn keyword ngxDirectiveThirdParty contained passenger_anonymous_telemetry_proxy
-syn keyword ngxDirectiveThirdParty contained passenger_app_env
-syn keyword ngxDirectiveThirdParty contained passenger_app_file_descriptor_ulimit
-syn keyword ngxDirectiveThirdParty contained passenger_app_group_name
-syn keyword ngxDirectiveThirdParty contained passenger_app_log_file
-syn keyword ngxDirectiveThirdParty contained passenger_app_rights
-syn keyword ngxDirectiveThirdParty contained passenger_app_root
-syn keyword ngxDirectiveThirdParty contained passenger_app_type
-syn keyword ngxDirectiveThirdParty contained passenger_base_uri
-syn keyword ngxDirectiveThirdParty contained passenger_buffer_response
-syn keyword ngxDirectiveThirdParty contained passenger_buffer_size
-syn keyword ngxDirectiveThirdParty contained passenger_buffers
-syn keyword ngxDirectiveThirdParty contained passenger_busy_buffers_size
-syn keyword ngxDirectiveThirdParty contained passenger_concurrency_model
-syn keyword ngxDirectiveThirdParty contained passenger_core_file_descriptor_ulimit
-syn keyword ngxDirectiveThirdParty contained passenger_ctl
-syn keyword ngxDirectiveThirdParty contained passenger_data_buffer_dir
-syn keyword ngxDirectiveThirdParty contained passenger_debugger
-syn keyword ngxDirectiveThirdParty contained passenger_default_group
-syn keyword ngxDirectiveThirdParty contained passenger_default_user
-syn keyword ngxDirectiveThirdParty contained passenger_disable_anonymous_telemetry
-syn keyword ngxDirectiveThirdParty contained passenger_disable_security_update_check
-syn keyword ngxDirectiveThirdParty contained passenger_document_root
-syn keyword ngxDirectiveThirdParty contained passenger_dump_config_manifest
-syn keyword ngxDirectiveThirdParty contained passenger_enabled
-syn keyword ngxDirectiveThirdParty contained passenger_env_var
-syn keyword ngxDirectiveThirdParty contained passenger_file_descriptor_log_file
-syn keyword ngxDirectiveThirdParty contained passenger_fly_with
-syn keyword ngxDirectiveThirdParty contained passenger_force_max_concurrent_requests_per_process
-syn keyword ngxDirectiveThirdParty contained passenger_friendly_error_pages
-syn keyword ngxDirectiveThirdParty contained passenger_group
-syn keyword ngxDirectiveThirdParty contained passenger_headers_hash_bucket_size
-syn keyword ngxDirectiveThirdParty contained passenger_headers_hash_max_size
-syn keyword ngxDirectiveThirdParty contained passenger_ignore_client_abort
-syn keyword ngxDirectiveThirdParty contained passenger_ignore_headers
-syn keyword ngxDirectiveThirdParty contained passenger_instance_registry_dir
-syn keyword ngxDirectiveThirdParty contained passenger_intercept_errors
-syn keyword ngxDirectiveThirdParty contained passenger_load_shell_envvars
-syn keyword ngxDirectiveThirdParty contained passenger_log_file
-syn keyword ngxDirectiveThirdParty contained passenger_log_level
-syn keyword ngxDirectiveThirdParty contained passenger_max_instances
-syn keyword ngxDirectiveThirdParty contained passenger_max_instances_per_app
-syn keyword ngxDirectiveThirdParty contained passenger_max_pool_size
-syn keyword ngxDirectiveThirdParty contained passenger_max_preloader_idle_time
-syn keyword ngxDirectiveThirdParty contained passenger_max_request_queue_size
-syn keyword ngxDirectiveThirdParty contained passenger_max_request_queue_time
-syn keyword ngxDirectiveThirdParty contained passenger_max_request_time
-syn keyword ngxDirectiveThirdParty contained passenger_max_requests
-syn keyword ngxDirectiveThirdParty contained passenger_memory_limit
-syn keyword ngxDirectiveThirdParty contained passenger_meteor_app_settings
-syn keyword ngxDirectiveThirdParty contained passenger_min_instances
-syn keyword ngxDirectiveThirdParty contained passenger_monitor_log_file
-syn keyword ngxDirectiveThirdParty contained passenger_nodejs
-syn keyword ngxDirectiveThirdParty contained passenger_pass_header
-syn keyword ngxDirectiveThirdParty contained passenger_pool_idle_time
-syn keyword ngxDirectiveThirdParty contained passenger_pre_start
-syn keyword ngxDirectiveThirdParty contained passenger_python
-syn keyword ngxDirectiveThirdParty contained passenger_read_timeout
-syn keyword ngxDirectiveThirdParty contained passenger_request_queue_overflow_status_code
-syn keyword ngxDirectiveThirdParty contained passenger_resist_deployment_errors
-syn keyword ngxDirectiveThirdParty contained passenger_response_buffer_high_watermark
-syn keyword ngxDirectiveThirdParty contained passenger_restart_dir
-syn keyword ngxDirectiveThirdParty contained passenger_rolling_restarts
-syn keyword ngxDirectiveThirdParty contained passenger_root
-syn keyword ngxDirectiveThirdParty contained passenger_ruby
-syn keyword ngxDirectiveThirdParty contained passenger_security_update_check_proxy
-syn keyword ngxDirectiveThirdParty contained passenger_set_header
-syn keyword ngxDirectiveThirdParty contained passenger_show_version_in_header
-syn keyword ngxDirectiveThirdParty contained passenger_socket_backlog
-syn keyword ngxDirectiveThirdParty contained passenger_spawn_method
-syn keyword ngxDirectiveThirdParty contained passenger_start_timeout
-syn keyword ngxDirectiveThirdParty contained passenger_startup_file
-syn keyword ngxDirectiveThirdParty contained passenger_stat_throttle_rate
-syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions
-syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions_cookie_name
-syn keyword ngxDirectiveThirdParty contained passenger_thread_count
-syn keyword ngxDirectiveThirdParty contained passenger_turbocaching
-syn keyword ngxDirectiveThirdParty contained passenger_user
-syn keyword ngxDirectiveThirdParty contained passenger_user_switching
-syn keyword ngxDirectiveThirdParty contained passenger_vary_turbocache_by_cookie
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_analytics_log_group
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_analytics_log_user
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_debug_log_file
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_use_global_queue
-syn keyword ngxDirectiveThirdPartyDeprecated contained rack_env
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_app_spawner_idle_time
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_env
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_framework_spawner_idle_time
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_spawn_method
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_filter
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_address
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_cert
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_port
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_key
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_proxy_address
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_support
-
-" ngx_postgres is an upstream module that allows nginx to communicate directly with PostgreSQL database
-" https://github.com/FRiCKLE/ngx_postgres
-syn keyword ngxDirectiveThirdParty contained postgres_connect_timeout
-syn keyword ngxDirectiveThirdParty contained postgres_escape
-syn keyword ngxDirectiveThirdParty contained postgres_keepalive
-syn keyword ngxDirectiveThirdParty contained postgres_output
-syn keyword ngxDirectiveThirdParty contained postgres_pass
-syn keyword ngxDirectiveThirdParty contained postgres_query
-syn keyword ngxDirectiveThirdParty contained postgres_result_timeout
-syn keyword ngxDirectiveThirdParty contained postgres_rewrite
-syn keyword ngxDirectiveThirdParty contained postgres_server
-syn keyword ngxDirectiveThirdParty contained postgres_set
-
-" ngx_rds_csv - Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV)
-" https://github.com/openresty/rds-csv-nginx-module
-syn keyword ngxDirectiveThirdParty contained rds_csv
-syn keyword ngxDirectiveThirdParty contained rds_csv_buffer_size
-syn keyword ngxDirectiveThirdParty contained rds_csv_content_type
-syn keyword ngxDirectiveThirdParty contained rds_csv_field_name_header
-syn keyword ngxDirectiveThirdParty contained rds_csv_field_separator
-syn keyword ngxDirectiveThirdParty contained rds_csv_row_terminator
-
-" ngx_rds_json - an output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON
-" https://github.com/openresty/rds-json-nginx-module
-syn keyword ngxDirectiveThirdParty contained rds_json
-syn keyword ngxDirectiveThirdParty contained rds_json_buffer_size
-syn keyword ngxDirectiveThirdParty contained rds_json_content_type
-syn keyword ngxDirectiveThirdParty contained rds_json_errcode_key
-syn keyword ngxDirectiveThirdParty contained rds_json_errstr_key
-syn keyword ngxDirectiveThirdParty contained rds_json_format
-syn keyword ngxDirectiveThirdParty contained rds_json_ret
-syn keyword ngxDirectiveThirdParty contained rds_json_root
-syn keyword ngxDirectiveThirdParty contained rds_json_success_property
-syn keyword ngxDirectiveThirdParty contained rds_json_user_property
-
-" ngx_redis2 - Nginx upstream module for the Redis 2.0 protocol
-" https://github.com/openresty/redis2-nginx-module
-syn keyword ngxDirectiveThirdParty contained redis2_bind
-syn keyword ngxDirectiveThirdParty contained redis2_buffer_size
-syn keyword ngxDirectiveThirdParty contained redis2_connect_timeout
-syn keyword ngxDirectiveThirdParty contained redis2_literal_raw_query
-syn keyword ngxDirectiveThirdParty contained redis2_next_upstream
-syn keyword ngxDirectiveThirdParty contained redis2_pass
-syn keyword ngxDirectiveThirdParty contained redis2_query
-syn keyword ngxDirectiveThirdParty contained redis2_raw_queries
-syn keyword ngxDirectiveThirdParty contained redis2_raw_query
-syn keyword ngxDirectiveThirdParty contained redis2_read_timeout
-syn keyword ngxDirectiveThirdParty contained redis2_send_timeout
-
-" NGINX-based Media Streaming Server
-" https://github.com/arut/nginx-rtmp-module
-syn keyword ngxDirectiveThirdParty contained ack_window
-syn keyword ngxDirectiveThirdParty contained application
-syn keyword ngxDirectiveThirdParty contained buffer
-syn keyword ngxDirectiveThirdParty contained buflen
-syn keyword ngxDirectiveThirdParty contained busy
-syn keyword ngxDirectiveThirdParty contained chunk_size
-syn keyword ngxDirectiveThirdParty contained dash
-syn keyword ngxDirectiveThirdParty contained dash_cleanup
-syn keyword ngxDirectiveThirdParty contained dash_fragment
-syn keyword ngxDirectiveThirdParty contained dash_nested
-syn keyword ngxDirectiveThirdParty contained dash_path
-syn keyword ngxDirectiveThirdParty contained dash_playlist_length
-syn keyword ngxDirectiveThirdParty contained drop_idle_publisher
-syn keyword ngxDirectiveThirdParty contained exec
-syn keyword ngxDirectiveThirdParty contained exec_block
-syn keyword ngxDirectiveThirdParty contained exec_kill_signal
-syn keyword ngxDirectiveThirdParty contained exec_options
-syn keyword ngxDirectiveThirdParty contained exec_play
-syn keyword ngxDirectiveThirdParty contained exec_play_done
-syn keyword ngxDirectiveThirdParty contained exec_publish
-syn keyword ngxDirectiveThirdParty contained exec_publish_done
-syn keyword ngxDirectiveThirdParty contained exec_pull
-syn keyword ngxDirectiveThirdParty contained exec_push
-syn keyword ngxDirectiveThirdParty contained exec_record_done
-syn keyword ngxDirectiveThirdParty contained exec_static
-syn keyword ngxDirectiveThirdParty contained hls_audio_buffer_size
-syn keyword ngxDirectiveThirdParty contained hls_base_url
-syn keyword ngxDirectiveThirdParty contained hls_cleanup
-syn keyword ngxDirectiveThirdParty contained hls_continuous
-syn keyword ngxDirectiveThirdParty contained hls_fragment_naming
-syn keyword ngxDirectiveThirdParty contained hls_fragment_naming_granularity
-syn keyword ngxDirectiveThirdParty contained hls_fragment_slicing
-syn keyword ngxDirectiveThirdParty contained hls_fragments_per_key
-syn keyword ngxDirectiveThirdParty contained hls_key_path
-syn keyword ngxDirectiveThirdParty contained hls_key_url
-syn keyword ngxDirectiveThirdParty contained hls_keys
-syn keyword ngxDirectiveThirdParty contained hls_max_audio_delay
-syn keyword ngxDirectiveThirdParty contained hls_max_fragment
-syn keyword ngxDirectiveThirdParty contained hls_muxdelay
-syn keyword ngxDirectiveThirdParty contained hls_nested
-syn keyword ngxDirectiveThirdParty contained hls_path
-syn keyword ngxDirectiveThirdParty contained hls_playlist_length
-syn keyword ngxDirectiveThirdParty contained hls_sync
-syn keyword ngxDirectiveThirdParty contained hls_type
-syn keyword ngxDirectiveThirdParty contained hls_variant
-syn keyword ngxDirectiveThirdParty contained idle_streams
-syn keyword ngxDirectiveThirdParty contained interleave
-syn keyword ngxDirectiveThirdParty contained live
-syn keyword ngxDirectiveThirdParty contained max_connections
-syn keyword ngxDirectiveThirdParty contained max_message
-syn keyword ngxDirectiveThirdParty contained max_streams
-syn keyword ngxDirectiveThirdParty contained meta
-syn keyword ngxDirectiveThirdParty contained netcall_buffer
-syn keyword ngxDirectiveThirdParty contained netcall_timeout
-syn keyword ngxDirectiveThirdParty contained notify_method
-syn keyword ngxDirectiveThirdParty contained notify_relay_redirect
-syn keyword ngxDirectiveThirdParty contained notify_update_strict
-syn keyword ngxDirectiveThirdParty contained notify_update_timeout
-syn keyword ngxDirectiveThirdParty contained on_connect
-syn keyword ngxDirectiveThirdParty contained on_disconnect
-syn keyword ngxDirectiveThirdParty contained on_done
-syn keyword ngxDirectiveThirdParty contained on_play
-syn keyword ngxDirectiveThirdParty contained on_play_done
-syn keyword ngxDirectiveThirdParty contained on_publish
-syn keyword ngxDirectiveThirdParty contained on_publish_done
-syn keyword ngxDirectiveThirdParty contained on_record_done
-syn keyword ngxDirectiveThirdParty contained on_update
-syn keyword ngxDirectiveThirdParty contained out_cork
-syn keyword ngxDirectiveThirdParty contained out_queue
-syn keyword ngxDirectiveThirdParty contained ping
-syn keyword ngxDirectiveThirdParty contained ping_timeout
-syn keyword ngxDirectiveThirdParty contained play
-syn keyword ngxDirectiveThirdParty contained play_local_path
-syn keyword ngxDirectiveThirdParty contained play_restart
-syn keyword ngxDirectiveThirdParty contained play_temp_path
-syn keyword ngxDirectiveThirdParty contained play_time_fix
-syn keyword ngxDirectiveThirdParty contained publish_notify
-syn keyword ngxDirectiveThirdParty contained publish_time_fix
-syn keyword ngxDirectiveThirdParty contained pull
-syn keyword ngxDirectiveThirdParty contained pull_reconnect
-syn keyword ngxDirectiveThirdParty contained push
-syn keyword ngxDirectiveThirdParty contained push_reconnect
-syn keyword ngxDirectiveThirdParty contained record
-syn keyword ngxDirectiveThirdParty contained record_append
-syn keyword ngxDirectiveThirdParty contained record_interval
-syn keyword ngxDirectiveThirdParty contained record_lock
-syn keyword ngxDirectiveThirdParty contained record_max_frames
-syn keyword ngxDirectiveThirdParty contained record_max_size
-syn keyword ngxDirectiveThirdParty contained record_notify
-syn keyword ngxDirectiveThirdParty contained record_path
-syn keyword ngxDirectiveThirdParty contained record_suffix
-syn keyword ngxDirectiveThirdParty contained record_unique
-syn keyword ngxDirectiveThirdParty contained recorder
-syn keyword ngxDirectiveThirdParty contained relay_buffer
-syn keyword ngxDirectiveThirdParty contained respawn
-syn keyword ngxDirectiveThirdParty contained respawn_timeout
-syn keyword ngxDirectiveThirdParty contained rtmp
-syn keyword ngxDirectiveThirdParty contained rtmp_auto_push
-syn keyword ngxDirectiveThirdParty contained rtmp_auto_push_reconnect
-syn keyword ngxDirectiveThirdParty contained rtmp_control
-syn keyword ngxDirectiveThirdParty contained rtmp_socket_dir
-syn keyword ngxDirectiveThirdParty contained rtmp_stat
-syn keyword ngxDirectiveThirdParty contained rtmp_stat_stylesheet
-syn keyword ngxDirectiveThirdParty contained session_relay
-syn keyword ngxDirectiveThirdParty contained so_keepalive
-syn keyword ngxDirectiveThirdParty contained stream_buckets
-syn keyword ngxDirectiveThirdParty contained sync
-syn keyword ngxDirectiveThirdParty contained wait_key
-syn keyword ngxDirectiveThirdParty contained wait_video
-
-" ngx_set_misc - Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more)
-" https://github.com/openresty/set-misc-nginx-module
-syn keyword ngxDirectiveThirdParty contained set_base32_alphabet
-syn keyword ngxDirectiveThirdParty contained set_base32_padding
-syn keyword ngxDirectiveThirdParty contained set_decode_base32
-syn keyword ngxDirectiveThirdParty contained set_decode_base64
-syn keyword ngxDirectiveThirdParty contained set_decode_hex
-syn keyword ngxDirectiveThirdParty contained set_encode_base32
-syn keyword ngxDirectiveThirdParty contained set_encode_base64
-syn keyword ngxDirectiveThirdParty contained set_encode_hex
-syn keyword ngxDirectiveThirdParty contained set_escape_uri
-syn keyword ngxDirectiveThirdParty contained set_formatted_gmt_time
-syn keyword ngxDirectiveThirdParty contained set_formatted_local_time
-syn keyword ngxDirectiveThirdParty contained set_hashed_upstream
-syn keyword ngxDirectiveThirdParty contained set_hmac_sha1
-syn keyword ngxDirectiveThirdParty contained set_if_empty
-syn keyword ngxDirectiveThirdParty contained set_local_today
-syn keyword ngxDirectiveThirdParty contained set_misc_base32_padding
-syn keyword ngxDirectiveThirdParty contained set_quote_json_str
-syn keyword ngxDirectiveThirdParty contained set_quote_pgsql_str
-syn keyword ngxDirectiveThirdParty contained set_quote_sql_str
-syn keyword ngxDirectiveThirdParty contained set_random
-syn keyword ngxDirectiveThirdParty contained set_rotate
-syn keyword ngxDirectiveThirdParty contained set_secure_random_alphanum
-syn keyword ngxDirectiveThirdParty contained set_secure_random_lcalpha
-syn keyword ngxDirectiveThirdParty contained set_unescape_uri
-
-" nginx-sflow-module
-" https://github.com/sflow/nginx-sflow-module
-syn keyword ngxDirectiveThirdParty contained sflow
-
-" Shibboleth auth request module for Nginx
-" https://github.com/nginx-shib/nginx-http-shibboleth
-syn keyword ngxDirectiveThirdParty contained shib_request
-syn keyword ngxDirectiveThirdParty contained shib_request_set
-syn keyword ngxDirectiveThirdParty contained shib_request_use_headers
-
-" nginx module which adds ability to cache static files
-" https://github.com/FRiCKLE/ngx_slowfs_cache
-syn keyword ngxDirectiveThirdParty contained slowfs_big_file_size
-syn keyword ngxDirectiveThirdParty contained slowfs_cache
-syn keyword ngxDirectiveThirdParty contained slowfs_cache_key
-syn keyword ngxDirectiveThirdParty contained slowfs_cache_min_uses
-syn keyword ngxDirectiveThirdParty contained slowfs_cache_path
-syn keyword ngxDirectiveThirdParty contained slowfs_cache_purge
-syn keyword ngxDirectiveThirdParty contained slowfs_cache_valid
-syn keyword ngxDirectiveThirdParty contained slowfs_temp_path
-
-" Dynamic Image Transformation Module For nginx
-" https://github.com/cubicdaiya/ngx_small_light
-syn keyword ngxDirectiveThirdParty contained small_light
-syn keyword ngxDirectiveThirdParty contained small_light_buffer
-syn keyword ngxDirectiveThirdParty contained small_light_getparam_mode
-syn keyword ngxDirectiveThirdParty contained small_light_imlib2_temp_dir
-syn keyword ngxDirectiveThirdParty contained small_light_material_dir
-syn keyword ngxDirectiveThirdParty contained small_light_pattern_define
-syn keyword ngxDirectiveThirdParty contained small_light_radius_max
-syn keyword ngxDirectiveThirdParty contained small_light_sigma_max
-
-" ngx_srcache - Transparent subrequest-based caching layout for arbitrary nginx locations
-" https://github.com/openresty/srcache-nginx-module
-syn keyword ngxDirectiveThirdParty contained srcache_buffer
-syn keyword ngxDirectiveThirdParty contained srcache_default_expire
-syn keyword ngxDirectiveThirdParty contained srcache_fetch
-syn keyword ngxDirectiveThirdParty contained srcache_fetch_skip
-syn keyword ngxDirectiveThirdParty contained srcache_header_buffer_size
-syn keyword ngxDirectiveThirdParty contained srcache_ignore_content_encoding
-syn keyword ngxDirectiveThirdParty contained srcache_max_expire
-syn keyword ngxDirectiveThirdParty contained srcache_methods
-syn keyword ngxDirectiveThirdParty contained srcache_request_cache_control
-syn keyword ngxDirectiveThirdParty contained srcache_response_cache_control
-syn keyword ngxDirectiveThirdParty contained srcache_store
-syn keyword ngxDirectiveThirdParty contained srcache_store_hide_header
-syn keyword ngxDirectiveThirdParty contained srcache_store_max_size
-syn keyword ngxDirectiveThirdParty contained srcache_store_no_cache
-syn keyword ngxDirectiveThirdParty contained srcache_store_no_store
-syn keyword ngxDirectiveThirdParty contained srcache_store_pass_header
-syn keyword ngxDirectiveThirdParty contained srcache_store_private
-syn keyword ngxDirectiveThirdParty contained srcache_store_ranges
-syn keyword ngxDirectiveThirdParty contained srcache_store_skip
-syn keyword ngxDirectiveThirdParty contained srcache_store_statuses
-
-" NGINX-based VOD Packager
-" https://github.com/kaltura/nginx-vod-module
-syn keyword ngxDirectiveThirdParty contained vod
-syn keyword ngxDirectiveThirdParty contained vod_align_segments_to_key_frames
-syn keyword ngxDirectiveThirdParty contained vod_apply_dynamic_mapping
-syn keyword ngxDirectiveThirdParty contained vod_base_url
-syn keyword ngxDirectiveThirdParty contained vod_bootstrap_segment_durations
-syn keyword ngxDirectiveThirdParty contained vod_cache_buffer_size
-syn keyword ngxDirectiveThirdParty contained vod_clip_from_param_name
-syn keyword ngxDirectiveThirdParty contained vod_clip_to_param_name
-syn keyword ngxDirectiveThirdParty contained vod_drm_clear_lead_segment_count
-syn keyword ngxDirectiveThirdParty contained vod_drm_enabled
-syn keyword ngxDirectiveThirdParty contained vod_drm_info_cache
-syn keyword ngxDirectiveThirdParty contained vod_drm_max_info_length
-syn keyword ngxDirectiveThirdParty contained vod_drm_request_uri
-syn keyword ngxDirectiveThirdParty contained vod_drm_single_key
-syn keyword ngxDirectiveThirdParty contained vod_drm_upstream_location
-syn keyword ngxDirectiveThirdParty contained vod_dynamic_clip_map_uri
-syn keyword ngxDirectiveThirdParty contained vod_dynamic_mapping_cache
-syn keyword ngxDirectiveThirdParty contained vod_encryption_iv_seed
-syn keyword ngxDirectiveThirdParty contained vod_expires
-syn keyword ngxDirectiveThirdParty contained vod_expires_live
-syn keyword ngxDirectiveThirdParty contained vod_expires_live_time_dependent
-syn keyword ngxDirectiveThirdParty contained vod_fallback_upstream_location
-syn keyword ngxDirectiveThirdParty contained vod_force_continuous_timestamps
-syn keyword ngxDirectiveThirdParty contained vod_force_playlist_type_vod
-syn keyword ngxDirectiveThirdParty contained vod_gop_look_ahead
-syn keyword ngxDirectiveThirdParty contained vod_gop_look_behind
-syn keyword ngxDirectiveThirdParty contained vod_ignore_edit_list
-syn keyword ngxDirectiveThirdParty contained vod_initial_read_size
-syn keyword ngxDirectiveThirdParty contained vod_lang_param_name
-syn keyword ngxDirectiveThirdParty contained vod_last_modified
-syn keyword ngxDirectiveThirdParty contained vod_last_modified_types
-syn keyword ngxDirectiveThirdParty contained vod_live_mapping_cache
-syn keyword ngxDirectiveThirdParty contained vod_live_response_cache
-syn keyword ngxDirectiveThirdParty contained vod_live_window_duration
-syn keyword ngxDirectiveThirdParty contained vod_manifest_duration_policy
-syn keyword ngxDirectiveThirdParty contained vod_manifest_segment_durations_mode
-syn keyword ngxDirectiveThirdParty contained vod_mapping_cache
-syn keyword ngxDirectiveThirdParty contained vod_max_frames_size
-syn keyword ngxDirectiveThirdParty contained vod_max_mapping_response_size
-syn keyword ngxDirectiveThirdParty contained vod_max_metadata_size
-syn keyword ngxDirectiveThirdParty contained vod_max_upstream_headers_size
-syn keyword ngxDirectiveThirdParty contained vod_media_set_map_uri
-syn keyword ngxDirectiveThirdParty contained vod_media_set_override_json
-syn keyword ngxDirectiveThirdParty contained vod_metadata_cache
-syn keyword ngxDirectiveThirdParty contained vod_min_single_nalu_per_frame_segment
-syn keyword ngxDirectiveThirdParty contained vod_mode
-syn keyword ngxDirectiveThirdParty contained vod_multi_uri_suffix
-syn keyword ngxDirectiveThirdParty contained vod_notification_uri
-syn keyword ngxDirectiveThirdParty contained vod_open_file_thread_pool
-syn keyword ngxDirectiveThirdParty contained vod_output_buffer_pool
-syn keyword ngxDirectiveThirdParty contained vod_parse_hdlr_name
-syn keyword ngxDirectiveThirdParty contained vod_path_response_postfix
-syn keyword ngxDirectiveThirdParty contained vod_path_response_prefix
-syn keyword ngxDirectiveThirdParty contained vod_performance_counters
-syn keyword ngxDirectiveThirdParty contained vod_proxy_header_name
-syn keyword ngxDirectiveThirdParty contained vod_proxy_header_value
-syn keyword ngxDirectiveThirdParty contained vod_redirect_segments_url
-syn keyword ngxDirectiveThirdParty contained vod_remote_upstream_location
-syn keyword ngxDirectiveThirdParty contained vod_response_cache
-syn keyword ngxDirectiveThirdParty contained vod_secret_key
-syn keyword ngxDirectiveThirdParty contained vod_segment_count_policy
-syn keyword ngxDirectiveThirdParty contained vod_segment_duration
-syn keyword ngxDirectiveThirdParty contained vod_segments_base_url
-syn keyword ngxDirectiveThirdParty contained vod_source_clip_map_uri
-syn keyword ngxDirectiveThirdParty contained vod_speed_param_name
-syn keyword ngxDirectiveThirdParty contained vod_status
-syn keyword ngxDirectiveThirdParty contained vod_time_shift_param_name
-syn keyword ngxDirectiveThirdParty contained vod_tracks_param_name
-syn keyword ngxDirectiveThirdParty contained vod_upstream_extra_args
-syn keyword ngxDirectiveThirdParty contained vod_upstream_location
-
-" Nginx virtual host traffic status module
-" https://github.com/vozlt/nginx-module-vts
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_average_method
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_bypass_limit
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_bypass_stats
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display_format
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display_jsonp
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_display_sum_key
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_dump
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_by_host
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_by_set_key
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_check_duplicate
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_filter_max_node
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_histogram_buckets
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit_check_duplicate
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit_traffic
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_limit_traffic_by_set_key
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_set_by_filter
-syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_zone
-
-" xss-nginx-module - Native cross-site scripting support in nginx
-" https://github.com/openresty/xss-nginx-module
-syn keyword ngxDirectiveThirdParty contained xss_callback_arg
-syn keyword ngxDirectiveThirdParty contained xss_check_status
-syn keyword ngxDirectiveThirdParty contained xss_get
-syn keyword ngxDirectiveThirdParty contained xss_input_types
-syn keyword ngxDirectiveThirdParty contained xss_output_type
-syn keyword ngxDirectiveThirdParty contained xss_override_status
-
-" Add support for array-typed variables to nginx config files
-" https://github.com/openresty/array-var-nginx-module
-syn keyword ngxDirectiveThirdParty contained array_join
-syn keyword ngxDirectiveThirdParty contained array_map
-syn keyword ngxDirectiveThirdParty contained array_map_op
-syn keyword ngxDirectiveThirdParty contained array_split
-
-" NGINX module for Brotli compression
-" https://github.com/eustas/ngx_brotli
-syn keyword ngxDirectiveThirdParty contained brotli
-syn keyword ngxDirectiveThirdParty contained brotli_buffers
-syn keyword ngxDirectiveThirdParty contained brotli_comp_level
-syn keyword ngxDirectiveThirdParty contained brotli_min_length
-syn keyword ngxDirectiveThirdParty contained brotli_static
-syn keyword ngxDirectiveThirdParty contained brotli_types
-syn keyword ngxDirectiveThirdParty contained brotli_window
-
-" form-input-nginx-module
-" https://github.com/calio/form-input-nginx-module
-syn keyword ngxDirectiveThirdParty contained set_form_input
-syn keyword ngxDirectiveThirdParty contained set_form_input_multi
-
-" character conversion nginx module using libiconv
-" https://github.com/calio/iconv-nginx-module
-syn keyword ngxDirectiveThirdParty contained iconv_buffer_size
-syn keyword ngxDirectiveThirdParty contained iconv_filter
-syn keyword ngxDirectiveThirdParty contained set_iconv
-
-" 3rd party modules list taken from
-" https://www.nginx.com/resources/wiki/modules/
-" ---------------------------------------------
-
-" Nginx Module for Authenticating Akamai G2O requests
-" https://github.com/kaltura/nginx_mod_akamai_g2o
-syn keyword ngxDirectiveThirdParty contained g2o
-syn keyword ngxDirectiveThirdParty contained g2o_data_header
-syn keyword ngxDirectiveThirdParty contained g2o_hash_function
-syn keyword ngxDirectiveThirdParty contained g2o_key
-syn keyword ngxDirectiveThirdParty contained g2o_log_level
-syn keyword ngxDirectiveThirdParty contained g2o_nonce
-syn keyword ngxDirectiveThirdParty contained g2o_sign_header
-syn keyword ngxDirectiveThirdParty contained g2o_time_window
-syn keyword ngxDirectiveThirdParty contained g2o_version
-
-" nginx_lua_module
-" https://github.com/alacner/nginx_lua_module
-syn keyword ngxDirectiveThirdParty contained lua_file
-
-" Nginx Audio Track for HTTP Live Streaming
-" https://github.com/flavioribeiro/nginx-audio-track-for-hls-module
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_output_format
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_output_header
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_rootpath
-
-" A Nginx module to dump backtrace when a worker process exits abnormally
-" https://github.com/alibaba/nginx-backtrace
-syn keyword ngxDirectiveThirdParty contained backtrace_log
-syn keyword ngxDirectiveThirdParty contained backtrace_max_stack_size
-
-" circle_gif module
-" https://github.com/evanmiller/nginx_circle_gif
-syn keyword ngxDirectiveThirdParty contained circle_gif
-syn keyword ngxDirectiveThirdParty contained circle_gif_max_radius
-syn keyword ngxDirectiveThirdParty contained circle_gif_min_radius
-syn keyword ngxDirectiveThirdParty contained circle_gif_step_radius
-
-" Upstream Consistent Hash
-" https://github.com/replay/ngx_http_consistent_hash
-syn keyword ngxDirectiveThirdParty contained consistent_hash
-
-" Nginx module for etags on dynamic content
-" https://github.com/kali/nginx-dynamic-etags
-syn keyword ngxDirectiveThirdParty contained dynamic_etags
-
-" Enhanced Nginx Memcached Module
-" https://github.com/bpaquet/ngx_http_enhanced_memcached_module
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_allow_delete
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_allow_put
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_bind
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_buffer_size
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_connect_timeout
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_flush
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_flush_namespace
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_hash_keys_with_md5
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_pass
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_read_timeout
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_send_timeout
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_stats
-
-" nginx max connections queue
-" https://github.com/ezmobius/nginx-ey-balancer
-syn keyword ngxDirectiveThirdParty contained max_connections_max_queue_length
-syn keyword ngxDirectiveThirdParty contained max_connections_queue_timeout
-
-" Nginx module for POST authentication and authorization
-" https://github.com/veruu/ngx_form_auth
-syn keyword ngxDirectiveThirdParty contained form_auth
-syn keyword ngxDirectiveThirdParty contained form_auth_login
-syn keyword ngxDirectiveThirdParty contained form_auth_pam_service
-syn keyword ngxDirectiveThirdParty contained form_auth_password
-syn keyword ngxDirectiveThirdParty contained form_auth_remote_user
-
-" ngx_http_accounting_module
-" https://github.com/Lax/ngx_http_accounting_module
-syn keyword ngxDirectiveThirdParty contained accounting
-syn keyword ngxDirectiveThirdParty contained accounting_id
-syn keyword ngxDirectiveThirdParty contained accounting_interval
-syn keyword ngxDirectiveThirdParty contained accounting_log
-syn keyword ngxDirectiveThirdParty contained accounting_perturb
-
-" concatenating files in a given context: CSS and JS files usually
-" https://github.com/alibaba/nginx-http-concat
-syn keyword ngxDirectiveThirdParty contained concat
-syn keyword ngxDirectiveThirdParty contained concat_delimiter
-syn keyword ngxDirectiveThirdParty contained concat_ignore_file_error
-syn keyword ngxDirectiveThirdParty contained concat_max_files
-syn keyword ngxDirectiveThirdParty contained concat_types
-syn keyword ngxDirectiveThirdParty contained concat_unique
-
-" update upstreams' config by restful interface
-" https://github.com/yzprofile/ngx_http_dyups_module
-syn keyword ngxDirectiveThirdParty contained dyups_interface
-syn keyword ngxDirectiveThirdParty contained dyups_read_msg_log
-syn keyword ngxDirectiveThirdParty contained dyups_read_msg_timeout
-syn keyword ngxDirectiveThirdParty contained dyups_shm_zone_size
-syn keyword ngxDirectiveThirdParty contained dyups_trylock
-syn keyword ngxDirectiveThirdParty contained dyups_upstream_conf
-
-" add given content to the end of the response according to the condition specified
-" https://github.com/flygoast/ngx_http_footer_if_filter
-syn keyword ngxDirectiveThirdParty contained footer_if
-
-" NGINX HTTP Internal Redirect Module
-" https://github.com/flygoast/ngx_http_internal_redirect
-syn keyword ngxDirectiveThirdParty contained internal_redirect_if
-syn keyword ngxDirectiveThirdParty contained internal_redirect_if_no_postpone
-
-" nginx-ip-blocker
-" https://github.com/tmthrgd/nginx-ip-blocker
-syn keyword ngxDirectiveThirdParty contained ip_blocker
-
-" IP2Location Nginx
-" https://github.com/chrislim2888/ip2location-nginx
-syn keyword ngxDirectiveThirdParty contained ip2location_database
-
-" Limit upload rate
-" https://github.com/cfsego/limit_upload_rate
-syn keyword ngxDirectiveThirdParty contained limit_upload_rate
-syn keyword ngxDirectiveThirdParty contained limit_upload_rate_after
-syn keyword ngxDirectiveThirdParty contained limit_upload_rate_log_level
-
-" limit the number of connections to upstream
-" https://github.com/cfsego/nginx-limit-upstream
-syn keyword ngxDirectiveThirdParty contained limit_upstream_conn
-syn keyword ngxDirectiveThirdParty contained limit_upstream_log_level
-syn keyword ngxDirectiveThirdParty contained limit_upstream_zone
-
-" conditional accesslog for nginx
-" https://github.com/cfsego/ngx_log_if
-syn keyword ngxDirectiveThirdParty contained access_log_bypass_if
-
-" log messages over ZeroMQ
-" https://github.com/alticelabs/nginx-log-zmq
-syn keyword ngxDirectiveThirdParty contained log_zmq_endpoint
-syn keyword ngxDirectiveThirdParty contained log_zmq_format
-syn keyword ngxDirectiveThirdParty contained log_zmq_off
-syn keyword ngxDirectiveThirdParty contained log_zmq_server
-
-" simple module to uppercase/lowercase strings in the nginx config
-" https://github.com/replay/ngx_http_lower_upper_case
-syn keyword ngxDirectiveThirdParty contained lower
-syn keyword ngxDirectiveThirdParty contained upper
-
-" content filter for nginx, which returns the md5 hash of the content otherwise returned
-" https://github.com/kainswor/nginx_md5_filter
-syn keyword ngxDirectiveThirdParty contained md5_filter
-
-" Non-blocking upstream module for Nginx to connect to MongoDB
-" https://github.com/simpl/ngx_mongo
-syn keyword ngxDirectiveThirdParty contained mongo_auth
-syn keyword ngxDirectiveThirdParty contained mongo_bind
-syn keyword ngxDirectiveThirdParty contained mongo_buffer_size
-syn keyword ngxDirectiveThirdParty contained mongo_buffering
-syn keyword ngxDirectiveThirdParty contained mongo_buffers
-syn keyword ngxDirectiveThirdParty contained mongo_busy_buffers_size
-syn keyword ngxDirectiveThirdParty contained mongo_connect_timeout
-syn keyword ngxDirectiveThirdParty contained mongo_json
-syn keyword ngxDirectiveThirdParty contained mongo_next_upstream
-syn keyword ngxDirectiveThirdParty contained mongo_pass
-syn keyword ngxDirectiveThirdParty contained mongo_query
-syn keyword ngxDirectiveThirdParty contained mongo_read_timeout
-syn keyword ngxDirectiveThirdParty contained mongo_send_timeout
-
-" Nginx OCSP processing module designed for response caching
-" https://github.com/kyprizel/nginx_ocsp_proxy-module
-syn keyword ngxDirectiveThirdParty contained ocsp_cache_timeout
-syn keyword ngxDirectiveThirdParty contained ocsp_proxy
-
-" Nginx OpenSSL version check at startup
-" https://github.com/apcera/nginx-openssl-version
-syn keyword ngxDirectiveThirdParty contained openssl_builddate_minimum
-syn keyword ngxDirectiveThirdParty contained openssl_version_minimum
-
-" Automatic PageSpeed optimization module for Nginx
-" https://github.com/pagespeed/ngx_pagespeed
-syn keyword ngxDirectiveThirdParty contained pagespeed
-
-" PECL Memcache standard hashing compatible loadbalancer for Nginx
-" https://github.com/replay/ngx_http_php_memcache_standard_balancer
-syn keyword ngxDirectiveThirdParty contained hash_key
-
-" nginx module to parse php sessions
-" https://github.com/replay/ngx_http_php_session
-syn keyword ngxDirectiveThirdParty contained php_session_parse
-syn keyword ngxDirectiveThirdParty contained php_session_strip_formatting
-
-" Nginx HTTP rDNS module
-" https://github.com/flant/nginx-http-rdns
-syn keyword ngxDirectiveThirdParty contained rdns
-syn keyword ngxDirectiveThirdParty contained rdns_allow
-syn keyword ngxDirectiveThirdParty contained rdns_deny
-
-" Streaming regular expression replacement in response bodies
-" https://github.com/openresty/replace-filter-nginx-module
-syn keyword ngxDirectiveThirdParty contained replace_filter
-syn keyword ngxDirectiveThirdParty contained replace_filter_last_modified
-syn keyword ngxDirectiveThirdParty contained replace_filter_max_buffered_size
-syn keyword ngxDirectiveThirdParty contained replace_filter_skip
-syn keyword ngxDirectiveThirdParty contained replace_filter_types
-
-" Link RRDtool's graphing facilities directly into nginx
-" https://github.com/evanmiller/mod_rrd_graph
-syn keyword ngxDirectiveThirdParty contained rrd_graph
-syn keyword ngxDirectiveThirdParty contained rrd_graph_root
-
-" Module for nginx to proxy rtmp using http protocol
-" https://github.com/kwojtek/nginx-rtmpt-proxy-module
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_http_timeout
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_rtmp_timeout
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_stat
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_stylesheet
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_target
-
-" Syntactically Awesome NGINX Module
-" https://github.com/mneudert/sass-nginx-module
-syn keyword ngxDirectiveThirdParty contained sass_compile
-syn keyword ngxDirectiveThirdParty contained sass_error_log
-syn keyword ngxDirectiveThirdParty contained sass_include_path
-syn keyword ngxDirectiveThirdParty contained sass_indent
-syn keyword ngxDirectiveThirdParty contained sass_is_indented_syntax
-syn keyword ngxDirectiveThirdParty contained sass_linefeed
-syn keyword ngxDirectiveThirdParty contained sass_output_style
-syn keyword ngxDirectiveThirdParty contained sass_precision
-syn keyword ngxDirectiveThirdParty contained sass_source_comments
-syn keyword ngxDirectiveThirdParty contained sass_source_map_embed
-
-" Nginx Selective Cache Purge Module
-" https://github.com/wandenberg/nginx-selective-cache-purge-module
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_query
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_database
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_host
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_password
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_port
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_unix_socket
-
-" cconv nginx module
-" https://github.com/liseen/set-cconv-nginx-module
-syn keyword ngxDirectiveThirdParty contained set_cconv_to_simp
-syn keyword ngxDirectiveThirdParty contained set_cconv_to_trad
-syn keyword ngxDirectiveThirdParty contained set_pinyin_to_normal
-
-" Nginx module that allows the setting of variables to the value of a variety of hashes
-" https://github.com/simpl/ngx_http_set_hash
-syn keyword ngxDirectiveThirdParty contained set_md5
-syn keyword ngxDirectiveThirdParty contained set_md5_upper
-syn keyword ngxDirectiveThirdParty contained set_murmur2
-syn keyword ngxDirectiveThirdParty contained set_murmur2_upper
-syn keyword ngxDirectiveThirdParty contained set_sha1
-syn keyword ngxDirectiveThirdParty contained set_sha1_upper
-
-" Nginx module to set the language of a request based on a number of options
-" https://github.com/simpl/ngx_http_set_lang
-syn keyword ngxDirectiveThirdParty contained lang_cookie
-syn keyword ngxDirectiveThirdParty contained lang_get_var
-syn keyword ngxDirectiveThirdParty contained lang_host
-syn keyword ngxDirectiveThirdParty contained lang_list
-syn keyword ngxDirectiveThirdParty contained lang_post_var
-syn keyword ngxDirectiveThirdParty contained lang_referer
-syn keyword ngxDirectiveThirdParty contained set_lang
-syn keyword ngxDirectiveThirdParty contained set_lang_method
-
-" Nginx Sorted Querystring Module
-" https://github.com/wandenberg/nginx-sorted-querystring-module
-syn keyword ngxDirectiveThirdParty contained sorted_querysting_filter_parameter
-
-" Nginx upstream module for Sphinx 2.x search daemon
-" https://github.com/reeteshranjan/sphinx2-nginx-module
-syn keyword ngxDirectiveThirdParty contained sphinx2_bind
-syn keyword ngxDirectiveThirdParty contained sphinx2_buffer_size
-syn keyword ngxDirectiveThirdParty contained sphinx2_connect_timeout
-syn keyword ngxDirectiveThirdParty contained sphinx2_next_upstream
-syn keyword ngxDirectiveThirdParty contained sphinx2_pass
-syn keyword ngxDirectiveThirdParty contained sphinx2_read_timeout
-syn keyword ngxDirectiveThirdParty contained sphinx2_send_timeout
-
-" Nginx module for retrieving user attributes and groups from SSSD
-" https://github.com/veruu/ngx_sssd_info
-syn keyword ngxDirectiveThirdParty contained sssd_info
-syn keyword ngxDirectiveThirdParty contained sssd_info_attribute
-syn keyword ngxDirectiveThirdParty contained sssd_info_attribute_separator
-syn keyword ngxDirectiveThirdParty contained sssd_info_attributes
-syn keyword ngxDirectiveThirdParty contained sssd_info_group
-syn keyword ngxDirectiveThirdParty contained sssd_info_group_separator
-syn keyword ngxDirectiveThirdParty contained sssd_info_groups
-syn keyword ngxDirectiveThirdParty contained sssd_info_output_to
-
-" An nginx module for sending statistics to statsd
-" https://github.com/zebrafishlabs/nginx-statsd
-syn keyword ngxDirectiveThirdParty contained statsd_count
-syn keyword ngxDirectiveThirdParty contained statsd_sample_rate
-syn keyword ngxDirectiveThirdParty contained statsd_server
-syn keyword ngxDirectiveThirdParty contained statsd_timing
-
-" ngx_stream_echo - TCP/stream echo module for NGINX (a port of the ngx_http_echo module)
-" https://github.com/openresty/stream-echo-nginx-module
-syn keyword ngxDirectiveThirdParty contained echo
-syn keyword ngxDirectiveThirdParty contained echo_client_error_log_level
-syn keyword ngxDirectiveThirdParty contained echo_discard_request
-syn keyword ngxDirectiveThirdParty contained echo_duplicate
-syn keyword ngxDirectiveThirdParty contained echo_flush_wait
-syn keyword ngxDirectiveThirdParty contained echo_lingering_close
-syn keyword ngxDirectiveThirdParty contained echo_lingering_time
-syn keyword ngxDirectiveThirdParty contained echo_lingering_timeout
-syn keyword ngxDirectiveThirdParty contained echo_read_buffer_size
-syn keyword ngxDirectiveThirdParty contained echo_read_bytes
-syn keyword ngxDirectiveThirdParty contained echo_read_line
-syn keyword ngxDirectiveThirdParty contained echo_read_timeout
-syn keyword ngxDirectiveThirdParty contained echo_request_data
-syn keyword ngxDirectiveThirdParty contained echo_send_timeout
-syn keyword ngxDirectiveThirdParty contained echo_sleep
-
-" Embed the power of Lua into NGINX TCP/UDP servers
-" https://github.com/openresty/stream-lua-nginx-module
-syn keyword ngxDirectiveThirdParty contained lua_add_variable
-syn keyword ngxDirectiveThirdParty contained preread_by_lua_block
-syn keyword ngxDirectiveThirdParty contained preread_by_lua_file
-syn keyword ngxDirectiveThirdParty contained preread_by_lua_no_postpone
-
-" nginx-upsync-module
-" https://github.com/weibocom/nginx-upsync-module
-syn keyword ngxDirectiveThirdParty contained upstream_show
-syn keyword ngxDirectiveThirdParty contained upsync
-syn keyword ngxDirectiveThirdParty contained upsync_dump_path
-syn keyword ngxDirectiveThirdParty contained upsync_lb
-
-" Whitespace stripper for nginx
-" https://github.com/evanmiller/mod_strip
-syn keyword ngxDirectiveThirdParty contained strip
-
-" Split one big HTTP/Range request to multiple subrange requesets
-" https://github.com/Qihoo360/ngx_http_subrange_module
-syn keyword ngxDirectiveThirdParty contained subrange
-
-" summarizer-nginx-module
-" https://github.com/reeteshranjan/summarizer-nginx-module
-syn keyword ngxDirectiveThirdParty contained summarizer_bind
-syn keyword ngxDirectiveThirdParty contained summarizer_buffer_size
-syn keyword ngxDirectiveThirdParty contained summarizer_connect_timeout
-syn keyword ngxDirectiveThirdParty contained summarizer_next_upstream
-syn keyword ngxDirectiveThirdParty contained summarizer_pass
-syn keyword ngxDirectiveThirdParty contained summarizer_read_timeout
-syn keyword ngxDirectiveThirdParty contained summarizer_send_timeout
-
-" nginx module providing API to communicate with supervisord and manage (start/stop) backends on-demand
-" https://github.com/FRiCKLE/ngx_supervisord
-syn keyword ngxDirectiveThirdParty contained supervisord
-syn keyword ngxDirectiveThirdParty contained supervisord_inherit_backend_status
-syn keyword ngxDirectiveThirdParty contained supervisord_name
-syn keyword ngxDirectiveThirdParty contained supervisord_start
-syn keyword ngxDirectiveThirdParty contained supervisord_stop
-
-" simple robot mitigation module using cookie based challenge/response technique. Not supported any more.
-" https://github.com/kyprizel/testcookie-nginx-module
-syn keyword ngxDirectiveThirdParty contained testcookie
-syn keyword ngxDirectiveThirdParty contained testcookie_arg
-syn keyword ngxDirectiveThirdParty contained testcookie_deny_keepalive
-syn keyword ngxDirectiveThirdParty contained testcookie_domain
-syn keyword ngxDirectiveThirdParty contained testcookie_expires
-syn keyword ngxDirectiveThirdParty contained testcookie_fallback
-syn keyword ngxDirectiveThirdParty contained testcookie_get_only
-syn keyword ngxDirectiveThirdParty contained testcookie_httponly_flag
-syn keyword ngxDirectiveThirdParty contained testcookie_https_location
-syn keyword ngxDirectiveThirdParty contained testcookie_internal
-syn keyword ngxDirectiveThirdParty contained testcookie_max_attempts
-syn keyword ngxDirectiveThirdParty contained testcookie_name
-syn keyword ngxDirectiveThirdParty contained testcookie_p3p
-syn keyword ngxDirectiveThirdParty contained testcookie_pass
-syn keyword ngxDirectiveThirdParty contained testcookie_path
-syn keyword ngxDirectiveThirdParty contained testcookie_port_in_redirect
-syn keyword ngxDirectiveThirdParty contained testcookie_redirect_via_refresh
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie_iv
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie_key
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_status
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_template
-syn keyword ngxDirectiveThirdParty contained testcookie_secret
-syn keyword ngxDirectiveThirdParty contained testcookie_secure_flag
-syn keyword ngxDirectiveThirdParty contained testcookie_session
-syn keyword ngxDirectiveThirdParty contained testcookie_whitelist
-
-" ngx_http_types_filter_module
-" https://github.com/flygoast/ngx_http_types_filter
-syn keyword ngxDirectiveThirdParty contained types_filter
-syn keyword ngxDirectiveThirdParty contained types_filter_use_default
-
-" A module allowing the nginx to use files embedded in a zip file
-" https://github.com/youzee/nginx-unzip-module
-syn keyword ngxDirectiveThirdParty contained file_in_unzip
-syn keyword ngxDirectiveThirdParty contained file_in_unzip_archivefile
-syn keyword ngxDirectiveThirdParty contained file_in_unzip_extract
-
-" An asynchronous domain name resolve module for nginx upstream
-" https://github.com/wdaike/ngx_upstream_jdomain
-syn keyword ngxDirectiveThirdParty contained jdomain
-
-" Nginx url encoding converting module
-" https://github.com/vozlt/nginx-module-url
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_alloc_size
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_alloc_size_x
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_from
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_phase
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_to
-
-" A nginx module to match browsers and crawlers
-" https://github.com/alibaba/nginx-http-user-agent
-syn keyword ngxDirectiveThirdParty contained user_agent
-
-" nginx load-balancer module implementing ketama consistent hashing
-" https://github.com/flygoast/ngx_http_upstream_ketama_chash
-syn keyword ngxDirectiveThirdParty contained ketama_chash
-
-
-
-
-" highlight
-
-hi link ngxComment Comment
-hi link ngxParamComment Comment
-hi link ngxListenComment Comment
-hi link ngxVariable Identifier
-hi link ngxVariableString PreProc
-hi link ngxString String
-hi link ngxListenString String
-
-hi link ngxBoolean Boolean
-hi link ngxDirectiveBlock Statement
-hi link ngxDirectiveImportant Type
-hi link ngxDirectiveListen Type
-hi link ngxDirectiveControl Keyword
-hi link ngxDirectiveError Constant
-hi link ngxDirectiveDeprecated Error
-hi link ngxDirective Identifier
-hi link ngxDirectiveThirdParty Special
-hi link ngxDirectiveThirdPartyDeprecated Error
-
-hi link ngxListenOptions Keyword
-hi link ngxListenOptionsDeprecated Error
-
-let b:current_syntax = "nginx"
diff --git a/docs/CHANGES b/docs/CHANGES
deleted file mode 100644
index 8e7382b..0000000
--- a/docs/CHANGES
+++ /dev/null
@@ -1,8325 +0,0 @@
-
-Changes with nginx 1.16.1 13 Aug 2019
-
- *) Security: when using HTTP/2 a client might cause excessive memory
- consumption and CPU usage (CVE-2019-9511, CVE-2019-9513,
- CVE-2019-9516).
-
-
-Changes with nginx 1.16.0 23 Apr 2019
-
- *) 1.16.x stable branch.
-
-
-Changes with nginx 1.15.12 16 Apr 2019
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- variables were used in the "ssl_certificate" or "ssl_certificate_key"
- directives and OCSP stapling was enabled.
-
-
-Changes with nginx 1.15.11 09 Apr 2019
-
- *) Bugfix: in the "ssl_stapling_file" directive on Windows.
-
-
-Changes with nginx 1.15.10 26 Mar 2019
-
- *) Change: when using a hostname in the "listen" directive nginx now
- creates listening sockets for all addresses the hostname resolves to
- (previously, only the first address was used).
-
- *) Feature: port ranges in the "listen" directive.
-
- *) Feature: loading of SSL certificates and secret keys from variables.
-
- *) Workaround: the $ssl_server_name variable might be empty when using
- OpenSSL 1.1.1.
-
- *) Bugfix: nginx/Windows could not be built with Visual Studio 2015 or
- newer; the bug had appeared in 1.15.9.
-
-
-Changes with nginx 1.15.9 26 Feb 2019
-
- *) Feature: variables support in the "ssl_certificate" and
- "ssl_certificate_key" directives.
-
- *) Feature: the "poll" method is now available on Windows when using
- Windows Vista or newer.
-
- *) Bugfix: if the "select" method was used on Windows and an error
- occurred while establishing a backend connection, nginx waited for
- the connection establishment timeout to expire.
-
- *) Bugfix: the "proxy_upload_rate" and "proxy_download_rate" directives
- in the stream module worked incorrectly when proxying UDP datagrams.
-
-
-Changes with nginx 1.15.8 25 Dec 2018
-
- *) Feature: the $upstream_bytes_sent variable.
- Thanks to Piotr Sikora.
-
- *) Feature: new directives in vim syntax highlighting scripts.
- Thanks to Gena Makhomed.
-
- *) Bugfix: in the "proxy_cache_background_update" directive.
-
- *) Bugfix: in the "geo" directive when using unix domain listen sockets.
-
- *) Workaround: the "ignoring stale global SSL error ... bad length"
- alerts might appear in logs when using the "ssl_early_data" directive
- with OpenSSL.
-
- *) Bugfix: in nginx/Windows.
-
- *) Bugfix: in the ngx_http_autoindex_module on 32-bit platforms.
-
-
-Changes with nginx 1.15.7 27 Nov 2018
-
- *) Feature: the "proxy_requests" directive in the stream module.
-
- *) Feature: the "delay" parameter of the "limit_req" directive.
- Thanks to Vladislav Shabanov and Peter Shchuchkin.
-
- *) Bugfix: memory leak on errors during reconfiguration.
-
- *) Bugfix: in the $upstream_response_time, $upstream_connect_time, and
- $upstream_header_time variables.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- ngx_http_mp4_module was used on 32-bit platforms.
-
-
-Changes with nginx 1.15.6 06 Nov 2018
-
- *) Security: when using HTTP/2 a client might cause excessive memory
- consumption (CVE-2018-16843) and CPU usage (CVE-2018-16844).
-
- *) Security: processing of a specially crafted mp4 file with the
- ngx_http_mp4_module might result in worker process memory disclosure
- (CVE-2018-16845).
-
- *) Feature: the "proxy_socket_keepalive", "fastcgi_socket_keepalive",
- "grpc_socket_keepalive", "memcached_socket_keepalive",
- "scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives.
-
- *) Bugfix: if nginx was built with OpenSSL 1.1.0 and used with OpenSSL
- 1.1.1, the TLS 1.3 protocol was always enabled.
-
- *) Bugfix: working with gRPC backends might result in excessive memory
- consumption.
-
-
-Changes with nginx 1.15.5 02 Oct 2018
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using OpenSSL 1.1.0h or newer; the bug had appeared in 1.15.4.
-
- *) Bugfix: of minor potential bugs.
-
-
-Changes with nginx 1.15.4 25 Sep 2018
-
- *) Feature: now the "ssl_early_data" directive can be used with OpenSSL.
-
- *) Bugfix: in the ngx_http_uwsgi_module.
- Thanks to Chris Caputo.
-
- *) Bugfix: connections with some gRPC backends might not be cached when
- using the "keepalive" directive.
-
- *) Bugfix: a socket leak might occur when using the "error_page"
- directive to redirect early request processing errors, notably errors
- with code 400.
-
- *) Bugfix: the "return" directive did not change the response code when
- returning errors if the request was redirected by the "error_page"
- directive.
-
- *) Bugfix: standard error pages and responses of the
- ngx_http_autoindex_module module used the "bgcolor" attribute, and
- might be displayed incorrectly when using custom color settings in
- browsers.
- Thanks to Nova DasSarma.
-
- *) Change: the logging level of the "no suitable key share" and "no
- suitable signature algorithm" SSL errors has been lowered from "crit"
- to "info".
-
-
-Changes with nginx 1.15.3 28 Aug 2018
-
- *) Feature: now TLSv1.3 can be used with BoringSSL.
-
- *) Feature: the "ssl_early_data" directive, currently available with
- BoringSSL.
-
- *) Feature: the "keepalive_timeout" and "keepalive_requests" directives
- in the "upstream" block.
-
- *) Bugfix: the ngx_http_dav_module did not truncate destination file
- when copying a file over an existing one with the COPY method.
-
- *) Bugfix: the ngx_http_dav_module used zero access rights on the
- destination file and did not preserve file modification time when
- moving a file between different file systems with the MOVE method.
-
- *) Bugfix: the ngx_http_dav_module used default access rights when
- copying a file with the COPY method.
-
- *) Workaround: some clients might not work when using HTTP/2; the bug
- had appeared in 1.13.5.
-
- *) Bugfix: nginx could not be built with LibreSSL 2.8.0.
-
-
-Changes with nginx 1.15.2 24 Jul 2018
-
- *) Feature: the $ssl_preread_protocol variable in the
- ngx_stream_ssl_preread_module.
-
- *) Feature: now when using the "reset_timedout_connection" directive
- nginx will reset connections being closed with the 444 code.
-
- *) Change: a logging level of the "http request", "https proxy request",
- "unsupported protocol", and "version too low" SSL errors has been
- lowered from "crit" to "info".
-
- *) Bugfix: DNS requests were not resent if initial sending of a request
- failed.
-
- *) Bugfix: the "reuseport" parameter of the "listen" directive was
- ignored if the number of worker processes was specified after the
- "listen" directive.
-
- *) Bugfix: when using OpenSSL 1.1.0 or newer it was not possible to
- switch off "ssl_prefer_server_ciphers" in a virtual server if it was
- switched on in the default server.
-
- *) Bugfix: SSL session reuse with upstream servers did not work with the
- TLS 1.3 protocol.
-
-
-Changes with nginx 1.15.1 03 Jul 2018
-
- *) Feature: the "random" directive inside the "upstream" block.
-
- *) Feature: improved performance when using the "hash" and "ip_hash"
- directives with the "zone" directive.
-
- *) Feature: the "reuseport" parameter of the "listen" directive now uses
- SO_REUSEPORT_LB on FreeBSD 12.
-
- *) Bugfix: HTTP/2 server push did not work if SSL was terminated by a
- proxy server in front of nginx.
-
- *) Bugfix: the "tcp_nopush" directive was always used on backend
- connections.
-
- *) Bugfix: sending a disk-buffered request body to a gRPC backend might
- fail.
-
-
-Changes with nginx 1.15.0 05 Jun 2018
-
- *) Change: the "ssl" directive is deprecated; the "ssl" parameter of the
- "listen" directive should be used instead.
-
- *) Change: now nginx detects missing SSL certificates during
- configuration testing when using the "ssl" parameter of the "listen"
- directive.
-
- *) Feature: now the stream module can handle multiple incoming UDP
- datagrams from a client within a single session.
-
- *) Bugfix: it was possible to specify an incorrect response code in the
- "proxy_cache_valid" directive.
-
- *) Bugfix: nginx could not be built by gcc 8.1.
-
- *) Bugfix: logging to syslog stopped on local IP address changes.
-
- *) Bugfix: nginx could not be built by clang with CUDA SDK installed;
- the bug had appeared in 1.13.8.
-
- *) Bugfix: "getsockopt(TCP_FASTOPEN) ... failed" messages might appear
- in logs during binary upgrade when using unix domain listen sockets
- on FreeBSD.
-
- *) Bugfix: nginx could not be built on Fedora 28 Linux.
-
- *) Bugfix: request processing rate might exceed configured rate when
- using the "limit_req" directive.
-
- *) Bugfix: in handling of client addresses when using unix domain listen
- sockets to work with datagrams on Linux.
-
- *) Bugfix: in memory allocation error handling.
-
-
-Changes with nginx 1.13.12 10 Apr 2018
-
- *) Bugfix: connections with gRPC backends might be closed unexpectedly
- when returning a large response.
-
-
-Changes with nginx 1.13.11 03 Apr 2018
-
- *) Feature: the "proxy_protocol" parameter of the "listen" directive now
- supports the PROXY protocol version 2.
-
- *) Bugfix: nginx could not be built with OpenSSL 1.1.1 statically on
- Linux.
-
- *) Bugfix: in the "http_404", "http_500", etc. parameters of the
- "proxy_next_upstream" directive.
-
-
-Changes with nginx 1.13.10 20 Mar 2018
-
- *) Feature: the "set" parameter of the "include" SSI directive now
- allows writing arbitrary responses to a variable; the
- "subrequest_output_buffer_size" directive defines maximum response
- size.
-
- *) Feature: now nginx uses clock_gettime(CLOCK_MONOTONIC) if available,
- to avoid timeouts being incorrectly triggered on system time changes.
-
- *) Feature: the "escape=none" parameter of the "log_format" directive.
- Thanks to Johannes Baiter and Calin Don.
-
- *) Feature: the $ssl_preread_alpn_protocols variable in the
- ngx_stream_ssl_preread_module.
-
- *) Feature: the ngx_http_grpc_module.
-
- *) Bugfix: in memory allocation error handling in the "geo" directive.
-
- *) Bugfix: when using variables in the "auth_basic_user_file" directive
- a null character might appear in logs.
- Thanks to Vadim Filimonov.
-
-
-Changes with nginx 1.13.9 20 Feb 2018
-
- *) Feature: HTTP/2 server push support; the "http2_push" and
- "http2_push_preload" directives.
-
- *) Bugfix: "header already sent" alerts might appear in logs when using
- cache; the bug had appeared in 1.9.13.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "ssl_verify_client" directive was used and no SSL certificate was
- specified in a virtual server.
-
- *) Bugfix: in the ngx_http_v2_module.
-
- *) Bugfix: in the ngx_http_dav_module.
-
-
-Changes with nginx 1.13.8 26 Dec 2017
-
- *) Feature: now nginx automatically preserves the CAP_NET_RAW capability
- in worker processes when using the "transparent" parameter of the
- "proxy_bind", "fastcgi_bind", "memcached_bind", "scgi_bind", and
- "uwsgi_bind" directives.
-
- *) Feature: improved CPU cache line size detection.
- Thanks to Debayan Ghosh.
-
- *) Feature: new directives in vim syntax highlighting scripts.
- Thanks to Gena Makhomed.
-
- *) Bugfix: binary upgrade refused to work if nginx was re-parented to a
- process with PID different from 1 after its parent process has
- finished.
-
- *) Bugfix: the ngx_http_autoindex_module incorrectly handled requests
- with bodies.
-
- *) Bugfix: in the "proxy_limit_rate" directive when used with the
- "keepalive" directive.
-
- *) Bugfix: some parts of a response might be buffered when using
- "proxy_buffering off" if the client connection used SSL.
- Thanks to Patryk Lesiewicz.
-
- *) Bugfix: in the "proxy_cache_background_update" directive.
-
- *) Bugfix: it was not possible to start a parameter with a variable in
- the "${name}" form with the name in curly brackets without enclosing
- the parameter into single or double quotes.
-
-
-Changes with nginx 1.13.7 21 Nov 2017
-
- *) Bugfix: in the $upstream_status variable.
-
- *) Bugfix: a segmentation fault might occur in a worker process if a
- backend returned a "101 Switching Protocols" response to a
- subrequest.
-
- *) Bugfix: a segmentation fault occurred in a master process if a shared
- memory zone size was changed during a reconfiguration and the
- reconfiguration failed.
-
- *) Bugfix: in the ngx_http_fastcgi_module.
-
- *) Bugfix: nginx returned the 500 error if parameters without variables
- were specified in the "xslt_stylesheet" directive.
-
- *) Workaround: "gzip filter failed to use preallocated memory" alerts
- appeared in logs when using a zlib library variant from Intel.
-
- *) Bugfix: the "worker_shutdown_timeout" directive did not work when
- using mail proxy and when proxying WebSocket connections.
-
-
-Changes with nginx 1.13.6 10 Oct 2017
-
- *) Bugfix: switching to the next upstream server in the stream module
- did not work when using the "ssl_preread" directive.
-
- *) Bugfix: in the ngx_http_v2_module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: nginx did not support dates after the year 2038 on 32-bit
- platforms with 64-bit time_t.
-
- *) Bugfix: in handling of dates prior to the year 1970 and after the
- year 10000.
-
- *) Bugfix: in the stream module timeouts waiting for UDP datagrams from
- upstream servers were not logged or logged at the "info" level
- instead of "error".
-
- *) Bugfix: when using HTTP/2 nginx might return the 400 response without
- logging the reason.
-
- *) Bugfix: in processing of corrupted cache files.
-
- *) Bugfix: cache control headers were ignored when caching errors
- intercepted by error_page.
-
- *) Bugfix: when using HTTP/2 client request body might be corrupted.
-
- *) Bugfix: in handling of client addresses when using unix domain
- sockets.
-
- *) Bugfix: nginx hogged CPU when using the "hash ... consistent"
- directive in the upstream block if large weights were used and all or
- most of the servers were unavailable.
-
-
-Changes with nginx 1.13.5 05 Sep 2017
-
- *) Feature: the $ssl_client_escaped_cert variable.
-
- *) Bugfix: the "ssl_session_ticket_key" directive and the "include"
- parameter of the "geo" directive did not work on Windows.
-
- *) Bugfix: incorrect response length was returned on 32-bit platforms
- when requesting more than 4 gigabytes with multiple ranges.
-
- *) Bugfix: the "expires modified" directive and processing of the
- "If-Range" request header line did not use the response last
- modification time if proxying without caching was used.
-
-
-Changes with nginx 1.13.4 08 Aug 2017
-
- *) Feature: the ngx_http_mirror_module.
-
- *) Bugfix: client connections might be dropped during configuration
- testing when using the "reuseport" parameter of the "listen"
- directive on Linux.
-
- *) Bugfix: request body might not be available in subrequests if it was
- saved to a file and proxying was used.
-
- *) Bugfix: cleaning cache based on the "max_size" parameter did not work
- on Windows.
-
- *) Bugfix: any shared memory allocation required 4096 bytes on Windows.
-
- *) Bugfix: nginx worker might be terminated abnormally when using the
- "zone" directive inside the "upstream" block on Windows.
-
-
-Changes with nginx 1.13.3 11 Jul 2017
-
- *) Security: a specially crafted request might result in an integer
- overflow and incorrect processing of ranges in the range filter,
- potentially resulting in sensitive information leak (CVE-2017-7529).
-
-
-Changes with nginx 1.13.2 27 Jun 2017
-
- *) Change: nginx now returns 200 instead of 416 when a range starting
- with 0 is requested from an empty file.
-
- *) Feature: the "add_trailer" directive.
- Thanks to Piotr Sikora.
-
- *) Bugfix: nginx could not be built on Cygwin and NetBSD; the bug had
- appeared in 1.13.0.
-
- *) Bugfix: nginx could not be built under MSYS2 / MinGW 64-bit.
- Thanks to Orgad Shaneh.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using SSI with many includes and proxy_pass with variables.
-
- *) Bugfix: in the ngx_http_v2_module.
- Thanks to Piotr Sikora.
-
-
-Changes with nginx 1.13.1 30 May 2017
-
- *) Feature: now a hostname can be used as the "set_real_ip_from"
- directive parameter.
-
- *) Feature: vim syntax highlighting scripts improvements.
-
- *) Feature: the "worker_cpu_affinity" directive now works on DragonFly
- BSD.
- Thanks to Sepherosa Ziehau.
-
- *) Bugfix: SSL renegotiation on backend connections did not work when
- using OpenSSL before 1.1.0.
-
- *) Workaround: nginx could not be built with Oracle Developer Studio
- 12.5.
-
- *) Workaround: now cache manager ignores long locked cache entries when
- cleaning cache based on the "max_size" parameter.
-
- *) Bugfix: client SSL connections were immediately closed if deferred
- accept and the "proxy_protocol" parameter of the "listen" directive
- were used.
-
- *) Bugfix: in the "proxy_cache_background_update" directive.
-
- *) Workaround: now the "tcp_nodelay" directive sets the TCP_NODELAY
- option before an SSL handshake.
-
-
-Changes with nginx 1.13.0 25 Apr 2017
-
- *) Change: SSL renegotiation is now allowed on backend connections.
-
- *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
- directives of the mail proxy and stream modules.
-
- *) Feature: the "return" and "error_page" directives can now be used to
- return 308 redirections.
- Thanks to Simon Leblanc.
-
- *) Feature: the "TLSv1.3" parameter of the "ssl_protocols" directive.
-
- *) Feature: when logging signals nginx now logs PID of the process which
- sent the signal.
-
- *) Bugfix: in memory allocation error handling.
-
- *) Bugfix: if a server in the stream module listened on a wildcard
- address, the source address of a response UDP datagram could differ
- from the original datagram destination address.
-
-
-Changes with nginx 1.11.13 04 Apr 2017
-
- *) Feature: the "http_429" parameter of the "proxy_next_upstream",
- "fastcgi_next_upstream", "scgi_next_upstream", and
- "uwsgi_next_upstream" directives.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in memory allocation error handling.
-
- *) Bugfix: requests might hang when using the "sendfile" and
- "timer_resolution" directives on Linux.
-
- *) Bugfix: requests might hang when using the "sendfile" and "aio_write"
- directives with subrequests.
-
- *) Bugfix: in the ngx_http_v2_module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using HTTP/2.
-
- *) Bugfix: requests might hang when using the "limit_rate",
- "sendfile_max_chunk", "limit_req" directives, or the $r->sleep()
- embedded perl method with subrequests.
-
- *) Bugfix: in the ngx_http_slice_module.
-
-
-Changes with nginx 1.11.12 24 Mar 2017
-
- *) Bugfix: nginx might hog CPU; the bug had appeared in 1.11.11.
-
-
-Changes with nginx 1.11.11 21 Mar 2017
-
- *) Feature: the "worker_shutdown_timeout" directive.
-
- *) Feature: vim syntax highlighting scripts improvements.
- Thanks to Wei-Ko Kao.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- $limit_rate variable was set to an empty string.
-
- *) Bugfix: the "proxy_cache_background_update",
- "fastcgi_cache_background_update", "scgi_cache_background_update",
- and "uwsgi_cache_background_update" directives might work incorrectly
- if the "if" directive was used.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- number of large_client_header_buffers in a virtual server was
- different from the one in the default server.
-
- *) Bugfix: in the mail proxy server.
-
-
-Changes with nginx 1.11.10 14 Feb 2017
-
- *) Change: cache header format has been changed, previously cached
- responses will be invalidated.
-
- *) Feature: support of "stale-while-revalidate" and "stale-if-error"
- extensions in the "Cache-Control" backend response header line.
-
- *) Feature: the "proxy_cache_background_update",
- "fastcgi_cache_background_update", "scgi_cache_background_update",
- and "uwsgi_cache_background_update" directives.
-
- *) Feature: nginx is now able to cache responses with the "Vary" header
- line up to 128 characters long (instead of 42 characters in previous
- versions).
-
- *) Feature: the "build" parameter of the "server_tokens" directive.
- Thanks to Tom Thorogood.
-
- *) Bugfix: "[crit] SSL_write() failed" messages might appear in logs
- when handling requests with the "Expect: 100-continue" request header
- line.
-
- *) Bugfix: the ngx_http_slice_module did not work in named locations.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using AIO after an "X-Accel-Redirect" redirection.
-
- *) Bugfix: reduced memory consumption for long-lived requests using
- gzipping.
-
-
-Changes with nginx 1.11.9 24 Jan 2017
-
- *) Bugfix: nginx might hog CPU when using the stream module; the bug had
- appeared in 1.11.5.
-
- *) Bugfix: EXTERNAL authentication mechanism in mail proxy was accepted
- even if it was not enabled in the configuration.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "ssl_verify_client" directive of the stream module was used.
-
- *) Bugfix: the "ssl_verify_client" directive of the stream module might
- not work.
-
- *) Bugfix: closing keepalive connections due to no free worker
- connections might be too aggressive.
- Thanks to Joel Cunningham.
-
- *) Bugfix: an incorrect response might be returned when using the
- "sendfile" directive on FreeBSD and macOS; the bug had appeared in
- 1.7.8.
-
- *) Bugfix: a truncated response might be stored in cache when using the
- "aio_write" directive.
-
- *) Bugfix: a socket leak might occur when using the "aio_write"
- directive.
-
-
-Changes with nginx 1.11.8 27 Dec 2016
-
- *) Feature: the "absolute_redirect" directive.
-
- *) Feature: the "escape" parameter of the "log_format" directive.
-
- *) Feature: client SSL certificates verification in the stream module.
-
- *) Feature: the "ssl_session_ticket_key" directive supports AES256
- encryption of TLS session tickets when used with 80-byte keys.
-
- *) Feature: vim-commentary support in vim scripts.
- Thanks to Armin Grodon.
-
- *) Bugfix: recursion when evaluating variables was not limited.
-
- *) Bugfix: in the ngx_stream_ssl_preread_module.
-
- *) Bugfix: if a server in an upstream in the stream module failed, it
- was considered alive only when a test connection sent to it after
- fail_timeout was closed; now a successfully established connection is
- enough.
-
- *) Bugfix: nginx/Windows could not be built with 64-bit Visual Studio.
-
- *) Bugfix: nginx/Windows could not be built with OpenSSL 1.1.0.
-
-
-Changes with nginx 1.11.7 13 Dec 2016
-
- *) Change: now in case of a client certificate verification error the
- $ssl_client_verify variable contains a string with the failure
- reason, for example, "FAILED:certificate has expired".
-
- *) Feature: the $ssl_ciphers, $ssl_curves, $ssl_client_v_start,
- $ssl_client_v_end, and $ssl_client_v_remain variables.
-
- *) Feature: the "volatile" parameter of the "map" directive.
-
- *) Bugfix: dependencies specified for a module were ignored while
- building dynamic modules.
-
- *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request"
- directives client request body might be corrupted; the bug had
- appeared in 1.11.0.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using HTTP/2; the bug had appeared in 1.11.3.
-
- *) Bugfix: in the ngx_http_mp4_module.
- Thanks to Congcong Hu.
-
- *) Bugfix: in the ngx_http_perl_module.
-
-
-Changes with nginx 1.11.6 15 Nov 2016
-
- *) Change: format of the $ssl_client_s_dn and $ssl_client_i_dn variables
- has been changed to follow RFC 2253 (RFC 4514); values in the old
- format are available in the $ssl_client_s_dn_legacy and
- $ssl_client_i_dn_legacy variables.
-
- *) Change: when storing temporary files in a cache directory they will
- be stored in the same subdirectories as corresponding cache files
- instead of a separate subdirectory for temporary files.
-
- *) Feature: EXTERNAL authentication mechanism support in mail proxy.
- Thanks to Robert Norris.
-
- *) Feature: WebP support in the ngx_http_image_filter_module.
-
- *) Feature: variables support in the "proxy_method" directive.
- Thanks to Dmitry Lazurkin.
-
- *) Feature: the "http2_max_requests" directive in the
- ngx_http_v2_module.
-
- *) Feature: the "proxy_cache_max_range_offset",
- "fastcgi_cache_max_range_offset", "scgi_cache_max_range_offset", and
- "uwsgi_cache_max_range_offset" directives.
-
- *) Bugfix: graceful shutdown of old worker processes might require
- infinite time when using HTTP/2.
-
- *) Bugfix: in the ngx_http_mp4_module.
-
- *) Bugfix: "ignore long locked inactive cache entry" alerts might appear
- in logs when proxying WebSocket connections with caching enabled.
-
- *) Bugfix: nginx did not write anything to log and returned a response
- with code 502 instead of 504 when a timeout occurred during an SSL
- handshake to a backend.
-
-
-Changes with nginx 1.11.5 11 Oct 2016
-
- *) Change: the --with-ipv6 configure option was removed, now IPv6
- support is configured automatically.
-
- *) Change: now if there are no available servers in an upstream, nginx
- will not reset number of failures of all servers as it previously
- did, but will wait for fail_timeout to expire.
-
- *) Feature: the ngx_stream_ssl_preread_module.
-
- *) Feature: the "server" directive in the "upstream" context supports
- the "max_conns" parameter.
-
- *) Feature: the --with-compat configure option.
-
- *) Feature: "manager_files", "manager_threshold", and "manager_sleep"
- parameters of the "proxy_cache_path", "fastcgi_cache_path",
- "scgi_cache_path", and "uwsgi_cache_path" directives.
-
- *) Bugfix: flags passed by the --with-ld-opt configure option were not
- used while building perl module.
-
- *) Bugfix: in the "add_after_body" directive when used with the
- "sub_filter" directive.
-
- *) Bugfix: in the $realip_remote_addr variable.
-
- *) Bugfix: the "dav_access", "proxy_store_access",
- "fastcgi_store_access", "scgi_store_access", and "uwsgi_store_access"
- directives ignored permissions specified for user.
-
- *) Bugfix: unix domain listen sockets might not be inherited during
- binary upgrade on Linux.
-
- *) Bugfix: nginx returned the 400 response on requests with the "-"
- character in the HTTP method.
-
-
-Changes with nginx 1.11.4 13 Sep 2016
-
- *) Feature: the $upstream_bytes_received variable.
-
- *) Feature: the $bytes_received, $session_time, $protocol, $status,
- $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received,
- $upstream_connect_time, $upstream_first_byte_time, and
- $upstream_session_time variables in the stream module.
-
- *) Feature: the ngx_stream_log_module.
-
- *) Feature: the "proxy_protocol" parameter of the "listen" directive,
- the $proxy_protocol_addr and $proxy_protocol_port variables in the
- stream module.
-
- *) Feature: the ngx_stream_realip_module.
-
- *) Bugfix: nginx could not be built with the stream module and the
- ngx_http_ssl_module, but without ngx_stream_ssl_module; the bug had
- appeared in 1.11.3.
-
- *) Feature: the IP_BIND_ADDRESS_NO_PORT socket option was not used; the
- bug had appeared in 1.11.2.
-
- *) Bugfix: in the "ranges" parameter of the "geo" directive.
-
- *) Bugfix: an incorrect response might be returned when using the "aio
- threads" and "sendfile" directives; the bug had appeared in 1.9.13.
-
-
-Changes with nginx 1.11.3 26 Jul 2016
-
- *) Change: now the "accept_mutex" directive is turned off by default.
-
- *) Feature: now nginx uses EPOLLEXCLUSIVE on Linux.
-
- *) Feature: the ngx_stream_geo_module.
-
- *) Feature: the ngx_stream_geoip_module.
-
- *) Feature: the ngx_stream_split_clients_module.
-
- *) Feature: variables support in the "proxy_pass" and "proxy_ssl_name"
- directives in the stream module.
-
- *) Bugfix: socket leak when using HTTP/2.
-
- *) Bugfix: in configure tests.
- Thanks to Piotr Sikora.
-
-
-Changes with nginx 1.11.2 05 Jul 2016
-
- *) Change: now nginx always uses internal MD5 and SHA1 implementations;
- the --with-md5 and --with-sha1 configure options were canceled.
-
- *) Feature: variables support in the stream module.
-
- *) Feature: the ngx_stream_map_module.
-
- *) Feature: the ngx_stream_return_module.
-
- *) Feature: a port can be specified in the "proxy_bind", "fastcgi_bind",
- "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
-
- *) Feature: now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option
- when available.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using HTTP/2 and the "proxy_request_buffering" directive.
-
- *) Bugfix: the "Content-Length" request header line was always added to
- requests passed to backends, including requests without body, when
- using HTTP/2.
-
- *) Bugfix: "http request count is zero" alerts might appear in logs when
- using HTTP/2.
-
- *) Bugfix: unnecessary buffering might occur when using the "sub_filter"
- directive; the issue had appeared in 1.9.4.
-
-
-Changes with nginx 1.11.1 31 May 2016
-
- *) Security: a segmentation fault might occur in a worker process while
- writing a specially crafted request body to a temporary file
- (CVE-2016-4450); the bug had appeared in 1.3.9.
-
-
-Changes with nginx 1.11.0 24 May 2016
-
- *) Feature: the "transparent" parameter of the "proxy_bind",
- "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind"
- directives.
-
- *) Feature: the $request_id variable.
-
- *) Feature: the "map" directive supports combinations of multiple
- variables as resulting values.
-
- *) Feature: now nginx checks if EPOLLRDHUP events are supported by
- kernel, and optimizes connection handling accordingly if the "epoll"
- method is used.
-
- *) Feature: the "ssl_certificate" and "ssl_certificate_key" directives
- can be specified multiple times to load certificates of different
- types (for example, RSA and ECDSA).
-
- *) Feature: the "ssl_ecdh_curve" directive now allows specifying a list
- of curves when using OpenSSL 1.0.2 or newer; by default a list built
- into OpenSSL is used.
-
- *) Change: to use DHE ciphers it is now required to specify parameters
- using the "ssl_dhparam" directive.
-
- *) Feature: the $proxy_protocol_port variable.
-
- *) Feature: the $realip_remote_port variable in the
- ngx_http_realip_module.
-
- *) Feature: the ngx_http_realip_module is now able to set the client
- port in addition to the address.
-
- *) Change: the "421 Misdirected Request" response now used when
- rejecting requests to a virtual server different from one negotiated
- during an SSL handshake; this improves interoperability with some
- HTTP/2 clients when using client certificates.
-
- *) Change: HTTP/2 clients can now start sending request body
- immediately; the "http2_body_preread_size" directive controls size of
- the buffer used before nginx will start reading client request body.
-
- *) Bugfix: cached error responses were not updated when using the
- "proxy_cache_bypass" directive.
-
-
-Changes with nginx 1.9.15 19 Apr 2016
-
- *) Bugfix: "recv() failed" errors might occur when using HHVM as a
- FastCGI server.
-
- *) Bugfix: when using HTTP/2 and the "limit_req" or "auth_request"
- directives a timeout or a "client violated flow control" error might
- occur while reading client request body; the bug had appeared in
- 1.9.14.
-
- *) Workaround: a response might not be shown by some browsers if HTTP/2
- was used and client request body was not fully read; the bug had
- appeared in 1.9.14.
-
- *) Bugfix: connections might hang when using the "aio threads"
- directive.
- Thanks to Mindaugas Rasiukevicius.
-
-
-Changes with nginx 1.9.14 05 Apr 2016
-
- *) Feature: OpenSSL 1.1.0 compatibility.
-
- *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering",
- "scgi_request_buffering", and "uwsgi_request_buffering" directives
- now work with HTTP/2.
-
- *) Bugfix: "zero size buf in output" alerts might appear in logs when
- using HTTP/2.
-
- *) Bugfix: the "client_max_body_size" directive might work incorrectly
- when using HTTP/2.
-
- *) Bugfix: of minor bugs in logging.
-
-
-Changes with nginx 1.9.13 29 Mar 2016
-
- *) Change: non-idempotent requests (POST, LOCK, PATCH) are no longer
- passed to the next server by default if a request has been sent to a
- backend; the "non_idempotent" parameter of the "proxy_next_upstream"
- directive explicitly allows retrying such requests.
-
- *) Feature: the ngx_http_perl_module can be built dynamically.
-
- *) Feature: UDP support in the stream module.
-
- *) Feature: the "aio_write" directive.
-
- *) Feature: now cache manager monitors number of elements in caches and
- tries to avoid cache keys zone overflows.
-
- *) Bugfix: "task already active" and "second aio post" alerts might
- appear in logs when using the "sendfile" and "aio" directives with
- subrequests.
-
- *) Bugfix: "zero size buf in output" alerts might appear in logs if
- caching was used and a client closed a connection prematurely.
-
- *) Bugfix: connections with clients might be closed needlessly if
- caching was used.
- Thanks to Justin Li.
-
- *) Bugfix: nginx might hog CPU if the "sendfile" directive was used on
- Linux or Solaris and a file being sent was changed during sending.
-
- *) Bugfix: connections might hang when using the "sendfile" and "aio
- threads" directives.
-
- *) Bugfix: in the "proxy_pass", "fastcgi_pass", "scgi_pass", and
- "uwsgi_pass" directives when using variables.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the ngx_http_sub_filter_module.
-
- *) Bugfix: if an error occurred in a cached backend connection, the
- request was passed to the next server regardless of the
- proxy_next_upstream directive.
-
- *) Bugfix: "CreateFile() failed" errors when creating temporary files on
- Windows.
-
-
-Changes with nginx 1.9.12 24 Feb 2016
-
- *) Feature: Huffman encoding of response headers in HTTP/2.
- Thanks to Vlad Krasnov.
-
- *) Feature: the "worker_cpu_affinity" directive now supports more than
- 64 CPUs.
-
- *) Bugfix: compatibility with 3rd party C++ modules; the bug had
- appeared in 1.9.11.
- Thanks to Piotr Sikora.
-
- *) Bugfix: nginx could not be built statically with OpenSSL on Linux;
- the bug had appeared in 1.9.11.
-
- *) Bugfix: the "add_header ... always" directive with an empty value did
- not delete "Last-Modified" and "ETag" header lines from error
- responses.
-
- *) Workaround: "called a function you should not call" and "shutdown
- while in init" messages might appear in logs when using OpenSSL
- 1.0.2f.
-
- *) Bugfix: invalid headers might be logged incorrectly.
-
- *) Bugfix: socket leak when using HTTP/2.
-
- *) Bugfix: in the ngx_http_v2_module.
-
-
-Changes with nginx 1.9.11 09 Feb 2016
-
- *) Feature: TCP support in resolver.
-
- *) Feature: dynamic modules.
-
- *) Bugfix: the $request_length variable did not include size of request
- headers when using HTTP/2.
-
- *) Bugfix: in the ngx_http_v2_module.
-
-
-Changes with nginx 1.9.10 26 Jan 2016
-
- *) Security: invalid pointer dereference might occur during DNS server
- response processing if the "resolver" directive was used, allowing an
- attacker who is able to forge UDP packets from the DNS server to
- cause segmentation fault in a worker process (CVE-2016-0742).
-
- *) Security: use-after-free condition might occur during CNAME response
- processing if the "resolver" directive was used, allowing an attacker
- who is able to trigger name resolution to cause segmentation fault in
- a worker process, or might have potential other impact
- (CVE-2016-0746).
-
- *) Security: CNAME resolution was insufficiently limited if the
- "resolver" directive was used, allowing an attacker who is able to
- trigger arbitrary name resolution to cause excessive resource
- consumption in worker processes (CVE-2016-0747).
-
- *) Feature: the "auto" parameter of the "worker_cpu_affinity" directive.
-
- *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did
- not work with IPv6 listen sockets.
-
- *) Bugfix: connections to upstream servers might be cached incorrectly
- when using the "keepalive" directive.
-
- *) Bugfix: proxying used the HTTP method of the original request after
- an "X-Accel-Redirect" redirection.
-
-
-Changes with nginx 1.9.9 09 Dec 2015
-
- *) Bugfix: proxying to unix domain sockets did not work when using
- variables; the bug had appeared in 1.9.8.
-
-
-Changes with nginx 1.9.8 08 Dec 2015
-
- *) Feature: pwritev() support.
-
- *) Feature: the "include" directive inside the "upstream" block.
-
- *) Feature: the ngx_http_slice_module.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using LibreSSL; the bug had appeared in 1.9.6.
-
- *) Bugfix: nginx could not be built on OS X in some cases.
-
-
-Changes with nginx 1.9.7 17 Nov 2015
-
- *) Feature: the "nohostname" parameter of logging to syslog.
-
- *) Feature: the "proxy_cache_convert_head" directive.
-
- *) Feature: the $realip_remote_addr variable in the
- ngx_http_realip_module.
-
- *) Bugfix: the "expires" directive might not work when using variables.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using HTTP/2; the bug had appeared in 1.9.6.
-
- *) Bugfix: if nginx was built with the ngx_http_v2_module it was
- possible to use the HTTP/2 protocol even if the "http2" parameter of
- the "listen" directive was not specified.
-
- *) Bugfix: in the ngx_http_v2_module.
-
-
-Changes with nginx 1.9.6 27 Oct 2015
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using HTTP/2.
- Thanks to Piotr Sikora and Denis Andzakovic.
-
- *) Bugfix: the $server_protocol variable was empty when using HTTP/2.
-
- *) Bugfix: backend SSL connections in the stream module might be timed
- out unexpectedly.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- different ssl_session_cache settings were used in different virtual
- servers.
-
- *) Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had
- appeared in 1.9.4.
- Thanks to Kouhei Sutou.
-
- *) Bugfix: time was not updated when the timer_resolution directive was
- used on Windows.
-
- *) Miscellaneous minor fixes and improvements.
- Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.
-
-
-Changes with nginx 1.9.5 22 Sep 2015
-
- *) Feature: the ngx_http_v2_module (replaces ngx_http_spdy_module).
- Thanks to Dropbox and Automattic for sponsoring this work.
-
- *) Change: now the "output_buffers" directive uses two buffers by
- default.
-
- *) Change: now nginx limits subrequests recursion, not simultaneous
- subrequests.
-
- *) Change: now nginx checks the whole cache key when returning a
- response from cache.
- Thanks to Gena Makhomed and Sergey Brester.
-
- *) Bugfix: "header already sent" alerts might appear in logs when using
- cache; the bug had appeared in 1.7.5.
-
- *) Bugfix: "writev() failed (4: Interrupted system call)" errors might
- appear in logs when using CephFS and the "timer_resolution" directive
- on Linux.
-
- *) Bugfix: in invalid configurations handling.
- Thanks to Markus Linnala.
-
- *) Bugfix: a segmentation fault occurred in a worker process if the
- "sub_filter" directive was used at http level; the bug had appeared
- in 1.9.4.
-
-
-Changes with nginx 1.9.4 18 Aug 2015
-
- *) Change: the "proxy_downstream_buffer" and "proxy_upstream_buffer"
- directives of the stream module are replaced with the
- "proxy_buffer_size" directive.
-
- *) Feature: the "tcp_nodelay" directive in the stream module.
-
- *) Feature: multiple "sub_filter" directives can be used simultaneously.
-
- *) Feature: variables support in the search string of the "sub_filter"
- directive.
-
- *) Workaround: configuration testing might fail under Linux OpenVZ.
- Thanks to Gena Makhomed.
-
- *) Bugfix: old worker processes might hog CPU after reconfiguration with
- a large number of worker_connections.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "try_files" and "alias" directives were used inside a location given
- by a regular expression; the bug had appeared in 1.7.1.
-
- *) Bugfix: the "try_files" directive inside a nested location given by a
- regular expression worked incorrectly if the "alias" directive was
- used in the outer location.
-
- *) Bugfix: in hash table initialization error handling.
-
- *) Bugfix: nginx could not be built with Visual Studio 2015.
-
-
-Changes with nginx 1.9.3 14 Jul 2015
-
- *) Change: duplicate "http", "mail", and "stream" blocks are now
- disallowed.
-
- *) Feature: connection limiting in the stream module.
-
- *) Feature: data rate limiting in the stream module.
-
- *) Bugfix: the "zone" directive inside the "upstream" block did not work
- on Windows.
-
- *) Bugfix: compatibility with LibreSSL in the stream module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the "--builddir" configure parameter.
- Thanks to Piotr Sikora.
-
- *) Bugfix: the "ssl_stapling_file" directive did not work; the bug had
- appeared in 1.9.2.
- Thanks to Faidon Liambotis and Brandon Black.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "ssl_stapling" directive was used; the bug had appeared in 1.9.2.
- Thanks to Matthew Baldwin.
-
-
-Changes with nginx 1.9.2 16 Jun 2015
-
- *) Feature: the "backlog" parameter of the "listen" directives of the
- mail proxy and stream modules.
-
- *) Feature: the "allow" and "deny" directives in the stream module.
-
- *) Feature: the "proxy_bind" directive in the stream module.
-
- *) Feature: the "proxy_protocol" directive in the stream module.
-
- *) Feature: the -T switch.
-
- *) Feature: the REQUEST_SCHEME parameter added to the fastcgi.conf,
- fastcgi_params, scgi_params, and uwsgi_params standard configuration
- files.
-
- *) Bugfix: the "reuseport" parameter of the "listen" directive of the
- stream module did not work.
-
- *) Bugfix: OCSP stapling might return an expired OCSP response in some
- cases.
-
-
-Changes with nginx 1.9.1 26 May 2015
-
- *) Change: now SSLv3 protocol is disabled by default.
-
- *) Change: some long deprecated directives are not supported anymore.
-
- *) Feature: the "reuseport" parameter of the "listen" directive.
- Thanks to Yingqi Lu at Intel and Sepherosa Ziehau.
-
- *) Feature: the $upstream_connect_time variable.
-
- *) Bugfix: in the "hash" directive on big-endian platforms.
-
- *) Bugfix: nginx might fail to start on some old Linux variants; the bug
- had appeared in 1.7.11.
-
- *) Bugfix: in IP address parsing.
- Thanks to Sergey Polovko.
-
-
-Changes with nginx 1.9.0 28 Apr 2015
-
- *) Change: obsolete aio and rtsig event methods have been removed.
-
- *) Feature: the "zone" directive inside the "upstream" block.
-
- *) Feature: the stream module.
-
- *) Feature: byte ranges support in the ngx_http_memcached_module.
- Thanks to Martin Mlynář.
-
- *) Feature: shared memory can now be used on Windows versions with
- address space layout randomization.
- Thanks to Sergey Brester.
-
- *) Feature: the "error_log" directive can now be used on mail and server
- levels in mail proxy.
-
- *) Bugfix: the "proxy_protocol" parameter of the "listen" directive did
- not work if not specified in the first "listen" directive for a
- listen socket.
-
-
-Changes with nginx 1.7.12 07 Apr 2015
-
- *) Feature: now the "tcp_nodelay" directive works with backend SSL
- connections.
-
- *) Feature: now thread pools can be used to read cache file headers.
-
- *) Bugfix: in the "proxy_request_buffering" directive.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- using thread pools on Linux.
-
- *) Bugfix: in error handling when using the "ssl_stapling" directive.
- Thanks to Filipe da Silva.
-
- *) Bugfix: in the ngx_http_spdy_module.
-
-
-Changes with nginx 1.7.11 24 Mar 2015
-
- *) Change: the "sendfile" parameter of the "aio" directive is
- deprecated; now nginx automatically uses AIO to pre-load data for
- sendfile if both "aio" and "sendfile" directives are used.
-
- *) Feature: experimental thread pools support.
-
- *) Feature: the "proxy_request_buffering", "fastcgi_request_buffering",
- "scgi_request_buffering", and "uwsgi_request_buffering" directives.
-
- *) Feature: request body filters experimental API.
-
- *) Feature: client SSL certificates support in mail proxy.
- Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva.
-
- *) Feature: startup speedup when using the "hash ... consistent"
- directive in the upstream block.
- Thanks to Wai Keen Woon.
-
- *) Feature: debug logging into a cyclic memory buffer.
-
- *) Bugfix: in hash table handling.
- Thanks to Chris West.
-
- *) Bugfix: in the "proxy_cache_revalidate" directive.
-
- *) Bugfix: SSL connections might hang if deferred accept or the
- "proxy_protocol" parameter of the "listen" directive were used.
- Thanks to James Hamlin.
-
- *) Bugfix: the $upstream_response_time variable might contain a wrong
- value if the "image_filter" directive was used.
-
- *) Bugfix: in integer overflow handling.
- Thanks to Régis Leroy.
-
- *) Bugfix: it was not possible to enable SSLv3 with LibreSSL.
-
- *) Bugfix: the "ignoring stale global SSL error ... called a function
- you should not call" alerts appeared in logs when using LibreSSL.
-
- *) Bugfix: certificates specified by the "ssl_client_certificate" and
- "ssl_trusted_certificate" directives were inadvertently used to
- automatically construct certificate chains.
-
-
-Changes with nginx 1.7.10 10 Feb 2015
-
- *) Feature: the "use_temp_path" parameter of the "proxy_cache_path",
- "fastcgi_cache_path", "scgi_cache_path", and "uwsgi_cache_path"
- directives.
-
- *) Feature: the $upstream_header_time variable.
-
- *) Workaround: now on disk overflow nginx tries to write error logs once
- a second only.
-
- *) Bugfix: the "try_files" directive did not ignore normal files while
- testing directories.
- Thanks to Damien Tournoud.
-
- *) Bugfix: alerts "sendfile() failed" if the "sendfile" directive was
- used on OS X; the bug had appeared in 1.7.8.
-
- *) Bugfix: alerts "sem_post() failed" might appear in logs.
-
- *) Bugfix: nginx could not be built with musl libc.
- Thanks to James Taylor.
-
- *) Bugfix: nginx could not be built on Tru64 UNIX.
- Thanks to Goetz T. Fischer.
-
-
-Changes with nginx 1.7.9 23 Dec 2014
-
- *) Feature: variables support in the "proxy_cache", "fastcgi_cache",
- "scgi_cache", and "uwsgi_cache" directives.
-
- *) Feature: variables support in the "expires" directive.
-
- *) Feature: loading of secret keys from hardware tokens with OpenSSL
- engines.
- Thanks to Dmitrii Pichulin.
-
- *) Feature: the "autoindex_format" directive.
-
- *) Bugfix: cache revalidation is now only used for responses with 200
- and 206 status codes.
- Thanks to Piotr Sikora.
-
- *) Bugfix: the "TE" client request header line was passed to backends
- while proxying.
-
- *) Bugfix: the "proxy_pass", "fastcgi_pass", "scgi_pass", and
- "uwsgi_pass" directives might not work correctly inside the "if" and
- "limit_except" blocks.
-
- *) Bugfix: the "proxy_store" directive with the "on" parameter was
- ignored if the "proxy_store" directive with an explicitly specified
- file path was used on a previous level.
-
- *) Bugfix: nginx could not be built with BoringSSL.
- Thanks to Lukas Tribus.
-
-
-Changes with nginx 1.7.8 02 Dec 2014
-
- *) Change: now the "If-Modified-Since", "If-Range", etc. client request
- header lines are passed to a backend while caching if nginx knows in
- advance that the response will not be cached (e.g., when using
- proxy_cache_min_uses).
-
- *) Change: now after proxy_cache_lock_timeout nginx sends a request to a
- backend with caching disabled; the new directives
- "proxy_cache_lock_age", "fastcgi_cache_lock_age",
- "scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time
- after which the lock will be released and another attempt to cache a
- response will be made.
-
- *) Change: the "log_format" directive can now be used only at http
- level.
-
- *) Feature: the "proxy_ssl_certificate", "proxy_ssl_certificate_key",
- "proxy_ssl_password_file", "uwsgi_ssl_certificate",
- "uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file"
- directives.
- Thanks to Piotr Sikora.
-
- *) Feature: it is now possible to switch to a named location using
- "X-Accel-Redirect".
- Thanks to Toshikuni Fukaya.
-
- *) Feature: now the "tcp_nodelay" directive works with SPDY connections.
-
- *) Feature: new directives in vim syntax highliting scripts.
- Thanks to Peter Wu.
-
- *) Bugfix: nginx ignored the "s-maxage" value in the "Cache-Control"
- backend response header line.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the ngx_http_spdy_module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the "ssl_password_file" directive when using OpenSSL
- 0.9.8zc, 1.0.0o, 1.0.1j.
-
- *) Bugfix: alerts "header already sent" appeared in logs if the
- "post_action" directive was used; the bug had appeared in 1.5.4.
-
- *) Bugfix: alerts "the http output chain is empty" might appear in logs
- if the "postpone_output 0" directive was used with SSI includes.
-
- *) Bugfix: in the "proxy_cache_lock" directive with SSI subrequests.
- Thanks to Yichun Zhang.
-
-
-Changes with nginx 1.7.7 28 Oct 2014
-
- *) Change: now nginx takes into account the "Vary" header line in a
- backend response while caching.
-
- *) Feature: the "proxy_force_ranges", "fastcgi_force_ranges",
- "scgi_force_ranges", and "uwsgi_force_ranges" directives.
-
- *) Feature: the "proxy_limit_rate", "fastcgi_limit_rate",
- "scgi_limit_rate", and "uwsgi_limit_rate" directives.
-
- *) Feature: the "Vary" parameter of the "proxy_ignore_headers",
- "fastcgi_ignore_headers", "scgi_ignore_headers", and
- "uwsgi_ignore_headers" directives.
-
- *) Bugfix: the last part of a response received from a backend with
- unbufferred proxy might not be sent to a client if "gzip" or "gunzip"
- directives were used.
-
- *) Bugfix: in the "proxy_cache_revalidate" directive.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in error handling.
- Thanks to Yichun Zhang and Daniil Bondarev.
-
- *) Bugfix: in the "proxy_next_upstream_tries" and
- "proxy_next_upstream_timeout" directives.
- Thanks to Feng Gu.
-
- *) Bugfix: nginx/Windows could not be built with MinGW-w64 gcc.
- Thanks to Kouhei Sutou.
-
-
-Changes with nginx 1.7.6 30 Sep 2014
-
- *) Change: the deprecated "limit_zone" directive is not supported
- anymore.
-
- *) Feature: the "limit_conn_zone" and "limit_req_zone" directives now
- can be used with combinations of multiple variables.
-
- *) Bugfix: request body might be transmitted incorrectly when retrying a
- FastCGI request to the next upstream server.
-
- *) Bugfix: in logging to syslog.
-
-
-Changes with nginx 1.7.5 16 Sep 2014
-
- *) Security: it was possible to reuse SSL sessions in unrelated contexts
- if a shared SSL session cache or the same TLS session ticket key was
- used for multiple "server" blocks (CVE-2014-3616).
- Thanks to Antoine Delignat-Lavaud.
-
- *) Change: now the "stub_status" directive does not require a parameter.
-
- *) Feature: the "always" parameter of the "add_header" directive.
-
- *) Feature: the "proxy_next_upstream_tries",
- "proxy_next_upstream_timeout", "fastcgi_next_upstream_tries",
- "fastcgi_next_upstream_timeout", "memcached_next_upstream_tries",
- "memcached_next_upstream_timeout", "scgi_next_upstream_tries",
- "scgi_next_upstream_timeout", "uwsgi_next_upstream_tries", and
- "uwsgi_next_upstream_timeout" directives.
-
- *) Bugfix: in the "if" parameter of the "access_log" directive.
-
- *) Bugfix: in the ngx_http_perl_module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: the "listen" directive of the mail proxy module did not allow
- to specify more than two parameters.
-
- *) Bugfix: the "sub_filter" directive did not work with a string to
- replace consisting of a single character.
-
- *) Bugfix: requests might hang if resolver was used and a timeout
- occurred during a DNS request.
-
- *) Bugfix: in the ngx_http_spdy_module when using with AIO.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "set" directive was used to change the "$http_...", "$sent_http_...",
- or "$upstream_http_..." variables.
-
- *) Bugfix: in memory allocation error handling.
- Thanks to Markus Linnala and Feng Gu.
-
-
-Changes with nginx 1.7.4 05 Aug 2014
-
- *) Security: pipelined commands were not discarded after STARTTLS
- command in SMTP proxy (CVE-2014-3556); the bug had appeared in 1.5.6.
- Thanks to Chris Boulton.
-
- *) Change: URI escaping now uses uppercase hexadecimal digits.
- Thanks to Piotr Sikora.
-
- *) Feature: now nginx can be build with BoringSSL and LibreSSL.
- Thanks to Piotr Sikora.
-
- *) Bugfix: requests might hang if resolver was used and a DNS server
- returned a malformed response; the bug had appeared in 1.5.8.
-
- *) Bugfix: in the ngx_http_spdy_module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: the $uri variable might contain garbage when returning errors
- with code 400.
- Thanks to Sergey Bobrov.
-
- *) Bugfix: in error handling in the "proxy_store" directive and the
- ngx_http_dav_module.
- Thanks to Feng Gu.
-
- *) Bugfix: a segmentation fault might occur if logging of errors to
- syslog was used; the bug had appeared in 1.7.1.
-
- *) Bugfix: the $geoip_latitude, $geoip_longitude, $geoip_dma_code, and
- $geoip_area_code variables might not work.
- Thanks to Yichun Zhang.
-
- *) Bugfix: in memory allocation error handling.
- Thanks to Tatsuhiko Kubo and Piotr Sikora.
-
-
-Changes with nginx 1.7.3 08 Jul 2014
-
- *) Feature: weak entity tags are now preserved on response
- modifications, and strong ones are changed to weak.
-
- *) Feature: cache revalidation now uses If-None-Match header if
- possible.
-
- *) Feature: the "ssl_password_file" directive.
-
- *) Bugfix: the If-None-Match request header line was ignored if there
- was no Last-Modified header in a response returned from cache.
-
- *) Bugfix: "peer closed connection in SSL handshake" messages were
- logged at "info" level instead of "error" while connecting to
- backends.
-
- *) Bugfix: in the ngx_http_dav_module module in nginx/Windows.
-
- *) Bugfix: SPDY connections might be closed prematurely if caching was
- used.
-
-
-Changes with nginx 1.7.2 17 Jun 2014
-
- *) Feature: the "hash" directive inside the "upstream" block.
-
- *) Feature: defragmentation of free shared memory blocks.
- Thanks to Wandenberg Peixoto and Yichun Zhang.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- default value of the "access_log" directive was used; the bug had
- appeared in 1.7.0.
- Thanks to Piotr Sikora.
-
- *) Bugfix: trailing slash was mistakenly removed from the last parameter
- of the "try_files" directive.
-
- *) Bugfix: nginx could not be built on OS X in some cases.
-
- *) Bugfix: in the ngx_http_spdy_module.
-
-
-Changes with nginx 1.7.1 27 May 2014
-
- *) Feature: the "$upstream_cookie_..." variables.
-
- *) Feature: the $ssl_client_fingerprint variable.
-
- *) Feature: the "error_log" and "access_log" directives now support
- logging to syslog.
-
- *) Feature: the mail proxy now logs client port on connect.
-
- *) Bugfix: memory leak if the "ssl_stapling" directive was used.
- Thanks to Filipe da Silva.
-
- *) Bugfix: the "alias" directive used inside a location given by a
- regular expression worked incorrectly if the "if" or "limit_except"
- directives were used.
-
- *) Bugfix: the "charset" directive did not set a charset to encoded
- backend responses.
-
- *) Bugfix: a "proxy_pass" directive without URI part might use original
- request after the $args variable was set.
- Thanks to Yichun Zhang.
-
- *) Bugfix: in the "none" parameter in the "smtp_auth" directive; the bug
- had appeared in 1.5.6.
- Thanks to Svyatoslav Nikolsky.
-
- *) Bugfix: if sub_filter and SSI were used together, then responses
- might be transferred incorrectly.
-
- *) Bugfix: nginx could not be built with the --with-file-aio option on
- Linux/aarch64.
-
-
-Changes with nginx 1.7.0 24 Apr 2014
-
- *) Feature: backend SSL certificate verification.
-
- *) Feature: support for SNI while working with SSL backends.
-
- *) Feature: the $ssl_server_name variable.
-
- *) Feature: the "if" parameter of the "access_log" directive.
-
-
-Changes with nginx 1.5.13 08 Apr 2014
-
- *) Change: improved hash table handling; the default values of the
- "variables_hash_max_size" and "types_hash_bucket_size" were changed
- to 1024 and 64 respectively.
-
- *) Feature: the ngx_http_mp4_module now supports the "end" argument.
-
- *) Feature: byte ranges support in the ngx_http_mp4_module and while
- saving responses to cache.
-
- *) Bugfix: alerts "ngx_slab_alloc() failed: no memory" no longer logged
- when using shared memory in the "ssl_session_cache" directive and in
- the ngx_http_limit_req_module.
-
- *) Bugfix: the "underscores_in_headers" directive did not allow
- underscore as a first character of a header.
- Thanks to Piotr Sikora.
-
- *) Bugfix: cache manager might hog CPU on exit in nginx/Windows.
-
- *) Bugfix: nginx/Windows terminated abnormally if the
- "ssl_session_cache" directive was used with the "shared" parameter.
-
- *) Bugfix: in the ngx_http_spdy_module.
-
-
-Changes with nginx 1.5.12 18 Mar 2014
-
- *) Security: a heap memory buffer overflow might occur in a worker
- process while handling a specially crafted request by
- ngx_http_spdy_module, potentially resulting in arbitrary code
- execution (CVE-2014-0133).
- Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr.
- Manuel Sadosky, Buenos Aires, Argentina.
-
- *) Feature: the "proxy_protocol" parameters of the "listen" and
- "real_ip_header" directives, the $proxy_protocol_addr variable.
-
- *) Bugfix: in the "fastcgi_next_upstream" directive.
- Thanks to Lucas Molas.
-
-
-Changes with nginx 1.5.11 04 Mar 2014
-
- *) Security: memory corruption might occur in a worker process on 32-bit
- platforms while handling a specially crafted request by
- ngx_http_spdy_module, potentially resulting in arbitrary code
- execution (CVE-2014-0088); the bug had appeared in 1.5.10.
- Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr.
- Manuel Sadosky, Buenos Aires, Argentina.
-
- *) Feature: the $ssl_session_reused variable.
-
- *) Bugfix: the "client_max_body_size" directive might not work when
- reading a request body using chunked transfer encoding; the bug had
- appeared in 1.3.9.
- Thanks to Lucas Molas.
-
- *) Bugfix: a segmentation fault might occur in a worker process when
- proxying WebSocket connections.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- ngx_http_spdy_module was used on 32-bit platforms; the bug had
- appeared in 1.5.10.
-
- *) Bugfix: the $upstream_status variable might contain wrong data if the
- "proxy_cache_use_stale" or "proxy_cache_revalidate" directives were
- used.
- Thanks to Piotr Sikora.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- errors with code 400 were redirected to a named location using the
- "error_page" directive.
-
- *) Bugfix: nginx/Windows could not be built with Visual Studio 2013.
-
-
-Changes with nginx 1.5.10 04 Feb 2014
-
- *) Feature: the ngx_http_spdy_module now uses SPDY 3.1 protocol.
- Thanks to Automattic and MaxCDN for sponsoring this work.
-
- *) Feature: the ngx_http_mp4_module now skips tracks too short for a
- seek requested.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- $ssl_session_id variable was used in logs; the bug had appeared in
- 1.5.9.
-
- *) Bugfix: the $date_local and $date_gmt variables used wrong format
- outside of the ngx_http_ssi_filter_module.
-
- *) Bugfix: client connections might be immediately closed if deferred
- accept was used; the bug had appeared in 1.3.15.
-
- *) Bugfix: alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs
- during binary upgrade on Linux; the bug had appeared in 1.5.8.
- Thanks to Piotr Sikora.
-
-
-Changes with nginx 1.5.9 22 Jan 2014
-
- *) Change: now nginx expects escaped URIs in "X-Accel-Redirect" headers.
-
- *) Feature: the "ssl_buffer_size" directive.
-
- *) Feature: the "limit_rate" directive can now be used to rate limit
- responses sent in SPDY connections.
-
- *) Feature: the "spdy_chunk_size" directive.
-
- *) Feature: the "ssl_session_tickets" directive.
- Thanks to Dirkjan Bussink.
-
- *) Bugfix: the $ssl_session_id variable contained full session
- serialized instead of just a session id.
- Thanks to Ivan Ristić.
-
- *) Bugfix: nginx incorrectly handled escaped "?" character in the
- "include" SSI command.
-
- *) Bugfix: the ngx_http_dav_module did not unescape destination URI of
- the COPY and MOVE methods.
-
- *) Bugfix: resolver did not understand domain names with a trailing dot.
- Thanks to Yichun Zhang.
-
- *) Bugfix: alerts "zero size buf in output" might appear in logs while
- proxying; the bug had appeared in 1.3.9.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- ngx_http_spdy_module was used.
-
- *) Bugfix: proxied WebSocket connections might hang right after
- handshake if the select, poll, or /dev/poll methods were used.
-
- *) Bugfix: the "xclient" directive of the mail proxy module incorrectly
- handled IPv6 client addresses.
-
-
-Changes with nginx 1.5.8 17 Dec 2013
-
- *) Feature: IPv6 support in resolver.
-
- *) Feature: the "listen" directive supports the "fastopen" parameter.
- Thanks to Mathew Rodley.
-
- *) Feature: SSL support in the ngx_http_uwsgi_module.
- Thanks to Roberto De Ioris.
-
- *) Feature: vim syntax highlighting scripts were added to contrib.
- Thanks to Evan Miller.
-
- *) Bugfix: a timeout might occur while reading client request body in an
- SSL connection using chunked transfer encoding.
-
- *) Bugfix: the "master_process" directive did not work correctly in
- nginx/Windows.
-
- *) Bugfix: the "setfib" parameter of the "listen" directive might not
- work.
-
- *) Bugfix: in the ngx_http_spdy_module.
-
-
-Changes with nginx 1.5.7 19 Nov 2013
-
- *) Security: a character following an unescaped space in a request line
- was handled incorrectly (CVE-2013-4547); the bug had appeared in
- 0.8.41.
- Thanks to Ivan Fratric of the Google Security Team.
-
- *) Change: a logging level of auth_basic errors about no user/password
- provided has been lowered from "error" to "info".
-
- *) Feature: the "proxy_cache_revalidate", "fastcgi_cache_revalidate",
- "scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives.
-
- *) Feature: the "ssl_session_ticket_key" directive.
- Thanks to Piotr Sikora.
-
- *) Bugfix: the directive "add_header Cache-Control ''" added a
- "Cache-Control" response header line with an empty value.
-
- *) Bugfix: the "satisfy any" directive might return 403 error instead of
- 401 if auth_request and auth_basic directives were used.
- Thanks to Jan Marc Hoffmann.
-
- *) Bugfix: the "accept_filter" and "deferred" parameters of the "listen"
- directive were ignored for listen sockets created during binary
- upgrade.
- Thanks to Piotr Sikora.
-
- *) Bugfix: some data received from a backend with unbufferred proxy
- might not be sent to a client immediately if "gzip" or "gunzip"
- directives were used.
- Thanks to Yichun Zhang.
-
- *) Bugfix: in error handling in ngx_http_gunzip_filter_module.
-
- *) Bugfix: responses might hang if the ngx_http_spdy_module was used
- with the "auth_request" directive.
-
- *) Bugfix: memory leak in nginx/Windows.
-
-
-Changes with nginx 1.5.6 01 Oct 2013
-
- *) Feature: the "fastcgi_buffering" directive.
-
- *) Feature: the "proxy_ssl_protocols" and "proxy_ssl_ciphers"
- directives.
- Thanks to Piotr Sikora.
-
- *) Feature: optimization of SSL handshakes when using long certificate
- chains.
-
- *) Feature: the mail proxy supports SMTP pipelining.
-
- *) Bugfix: in the ngx_http_auth_basic_module when using "$apr1$"
- password encryption method.
- Thanks to Markus Linnala.
-
- *) Bugfix: in MacOSX, Cygwin, and nginx/Windows incorrect location might
- be used to process a request if locations were given using characters
- in different cases.
-
- *) Bugfix: automatic redirect with appended trailing slash for proxied
- locations might not work.
-
- *) Bugfix: in the mail proxy server.
-
- *) Bugfix: in the ngx_http_spdy_module.
-
-
-Changes with nginx 1.5.5 17 Sep 2013
-
- *) Change: now nginx assumes HTTP/1.0 by default if it is not able to
- detect protocol reliably.
-
- *) Feature: the "disable_symlinks" directive now uses O_PATH on Linux.
-
- *) Feature: now nginx uses EPOLLRDHUP events to detect premature
- connection close by clients if the "epoll" method is used.
-
- *) Bugfix: in the "valid_referers" directive if the "server_names"
- parameter was used.
-
- *) Bugfix: the $request_time variable did not work in nginx/Windows.
-
- *) Bugfix: in the "image_filter" directive.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: OpenSSL 1.0.1f compatibility.
- Thanks to Piotr Sikora.
-
-
-Changes with nginx 1.5.4 27 Aug 2013
-
- *) Change: the "js" extension MIME type has been changed to
- "application/javascript"; default value of the "charset_types"
- directive was changed accordingly.
-
- *) Change: now the "image_filter" directive with the "size" parameter
- returns responses with the "application/json" MIME type.
-
- *) Feature: the ngx_http_auth_request_module.
-
- *) Bugfix: a segmentation fault might occur on start or during
- reconfiguration if the "try_files" directive was used with an empty
- parameter.
-
- *) Bugfix: memory leak if relative paths were specified using variables
- in the "root" or "auth_basic_user_file" directives.
-
- *) Bugfix: the "valid_referers" directive incorrectly executed regular
- expressions if a "Referer" header started with "https://".
- Thanks to Liangbin Li.
-
- *) Bugfix: responses might hang if subrequests were used and an SSL
- handshake error happened during subrequest processing.
- Thanks to Aviram Cohen.
-
- *) Bugfix: in the ngx_http_autoindex_module.
-
- *) Bugfix: in the ngx_http_spdy_module.
-
-
-Changes with nginx 1.5.3 30 Jul 2013
-
- *) Change in internal API: now u->length defaults to -1 if working with
- backends in unbuffered mode.
-
- *) Change: now after receiving an incomplete response from a backend
- server nginx tries to send an available part of the response to a
- client, and then closes client connection.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- ngx_http_spdy_module was used with the "client_body_in_file_only"
- directive.
-
- *) Bugfix: the "so_keepalive" parameter of the "listen" directive might
- be handled incorrectly on DragonFlyBSD.
- Thanks to Sepherosa Ziehau.
-
- *) Bugfix: in the ngx_http_xslt_filter_module.
-
- *) Bugfix: in the ngx_http_sub_filter_module.
-
-
-Changes with nginx 1.5.2 02 Jul 2013
-
- *) Feature: now several "error_log" directives can be used.
-
- *) Bugfix: the $r->header_in() embedded perl method did not return value
- of the "Cookie" and "X-Forwarded-For" request header lines; the bug
- had appeared in 1.3.14.
-
- *) Bugfix: in the ngx_http_spdy_module.
- Thanks to Jim Radford.
-
- *) Bugfix: nginx could not be built on Linux with x32 ABI.
- Thanks to Serguei Ivantsov.
-
-
-Changes with nginx 1.5.1 04 Jun 2013
-
- *) Feature: the "ssi_last_modified", "sub_filter_last_modified", and
- "xslt_last_modified" directives.
- Thanks to Alexey Kolpakov.
-
- *) Feature: the "http_403" parameter of the "proxy_next_upstream",
- "fastcgi_next_upstream", "scgi_next_upstream", and
- "uwsgi_next_upstream" directives.
-
- *) Feature: the "allow" and "deny" directives now support unix domain
- sockets.
-
- *) Bugfix: nginx could not be built with the ngx_mail_ssl_module, but
- without ngx_http_ssl_module; the bug had appeared in 1.3.14.
-
- *) Bugfix: in the "proxy_set_body" directive.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: in the "lingering_time" directive.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: the "fail_timeout" parameter of the "server" directive in the
- "upstream" context might not work if "max_fails" parameter was used;
- the bug had appeared in 1.3.0.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "ssl_stapling" directive was used.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the mail proxy server.
- Thanks to Filipe Da Silva.
-
- *) Bugfix: nginx/Windows might stop accepting connections if several
- worker processes were used.
-
-
-Changes with nginx 1.5.0 07 May 2013
-
- *) Security: a stack-based buffer overflow might occur in a worker
- process while handling a specially crafted request, potentially
- resulting in arbitrary code execution (CVE-2013-2028); the bug had
- appeared in 1.3.9.
- Thanks to Greg MacManus, iSIGHT Partners Labs.
-
-
-Changes with nginx 1.4.0 24 Apr 2013
-
- *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
- --with-openssl option was used; the bug had appeared in 1.3.16.
-
- *) Bugfix: in a request body handling in the ngx_http_perl_module; the
- bug had appeared in 1.3.9.
-
-
-Changes with nginx 1.3.16 16 Apr 2013
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- subrequests were used; the bug had appeared in 1.3.9.
-
- *) Bugfix: the "tcp_nodelay" directive caused an error if a WebSocket
- connection was proxied into a unix domain socket.
-
- *) Bugfix: the $upstream_response_length variable has an incorrect value
- "0" if buffering was not used.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the eventport and /dev/poll methods.
-
-
-Changes with nginx 1.3.15 26 Mar 2013
-
- *) Change: opening and closing a connection without sending any data in
- it is no longer logged to access_log with error code 400.
-
- *) Feature: the ngx_http_spdy_module.
- Thanks to Automattic for sponsoring this work.
-
- *) Feature: the "limit_req_status" and "limit_conn_status" directives.
- Thanks to Nick Marden.
-
- *) Feature: the "image_filter_interlace" directive.
- Thanks to Ian Babrou.
-
- *) Feature: $connections_waiting variable in the
- ngx_http_stub_status_module.
-
- *) Feature: the mail proxy module now supports IPv6 backends.
-
- *) Bugfix: request body might be transmitted incorrectly when retrying a
- request to the next upstream server; the bug had appeared in 1.3.9.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the "client_body_in_file_only" directive; the bug had
- appeared in 1.3.9.
-
- *) Bugfix: responses might hang if subrequests were used and a DNS error
- happened during subrequest processing.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: in backend usage accounting.
-
-
-Changes with nginx 1.3.14 05 Mar 2013
-
- *) Feature: $connections_active, $connections_reading, and
- $connections_writing variables in the ngx_http_stub_status_module.
-
- *) Feature: support of WebSocket connections in the
- ngx_http_uwsgi_module and ngx_http_scgi_module.
-
- *) Bugfix: in virtual servers handling with SNI.
-
- *) Bugfix: new sessions were not always stored if the "ssl_session_cache
- shared" directive was used and there was no free space in shared
- memory.
- Thanks to Piotr Sikora.
-
- *) Bugfix: multiple X-Forwarded-For headers were handled incorrectly.
- Thanks to Neal Poole for sponsoring this work.
-
- *) Bugfix: in the ngx_http_mp4_module.
- Thanks to Gernot Vormayr.
-
-
-Changes with nginx 1.3.13 19 Feb 2013
-
- *) Change: a compiler with name "cc" is now used by default.
-
- *) Feature: support for proxying of WebSocket connections.
- Thanks to Apcera and CloudBees for sponsoring this work.
-
- *) Feature: the "auth_basic_user_file" directive supports "{SHA}"
- password encryption method.
- Thanks to Louis Opter.
-
-
-Changes with nginx 1.3.12 05 Feb 2013
-
- *) Feature: variables support in the "proxy_bind", "fastcgi_bind",
- "memcached_bind", "scgi_bind", and "uwsgi_bind" directives.
-
- *) Feature: the $pipe, $request_length, $time_iso8601, and $time_local
- variables can now be used not only in the "log_format" directive.
- Thanks to Kiril Kalchev.
-
- *) Feature: IPv6 support in the ngx_http_geoip_module.
- Thanks to Gregor Kališnik.
-
- *) Bugfix: in the "proxy_method" directive.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- resolver was used with the poll method.
-
- *) Bugfix: nginx might hog CPU during SSL handshake with a backend if
- the select, poll, or /dev/poll methods were used.
-
- *) Bugfix: the "[crit] SSL_write() failed (SSL:)" error.
-
- *) Bugfix: in the "client_body_in_file_only" directive; the bug had
- appeared in 1.3.9.
-
- *) Bugfix: in the "fastcgi_keep_conn" directive.
-
-
-Changes with nginx 1.3.11 10 Jan 2013
-
- *) Bugfix: a segmentation fault might occur if logging was used; the bug
- had appeared in 1.3.10.
-
- *) Bugfix: the "proxy_pass" directive did not work with IP addresses
- without port specified; the bug had appeared in 1.3.10.
-
- *) Bugfix: a segmentation fault occurred on start or during
- reconfiguration if the "keepalive" directive was specified more than
- once in a single upstream block.
-
- *) Bugfix: parameter "default" of the "geo" directive did not set
- default value for IPv6 addresses.
-
-
-Changes with nginx 1.3.10 25 Dec 2012
-
- *) Change: domain names specified in configuration file are now resolved
- to IPv6 addresses as well as IPv4 ones.
-
- *) Change: now if the "include" directive with mask is used on Unix
- systems, included files are sorted in alphabetical order.
-
- *) Change: the "add_header" directive adds headers to 201 responses.
-
- *) Feature: the "geo" directive now supports IPv6 addresses in CIDR
- notation.
-
- *) Feature: the "flush" and "gzip" parameters of the "access_log"
- directive.
-
- *) Feature: variables support in the "auth_basic" directive.
-
- *) Bugfix: nginx could not be built with the ngx_http_perl_module in
- some cases.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- ngx_http_xslt_module was used.
-
- *) Bugfix: nginx could not be built on MacOSX in some cases.
- Thanks to Piotr Sikora.
-
- *) Bugfix: the "limit_rate" directive with high rates might result in
- truncated responses on 32-bit platforms.
- Thanks to Alexey Antropov.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "if" directive was used.
- Thanks to Piotr Sikora.
-
- *) Bugfix: a "100 Continue" response was issued with "413 Request Entity
- Too Large" responses.
-
- *) Bugfix: the "image_filter", "image_filter_jpeg_quality" and
- "image_filter_sharpen" directives might be inherited incorrectly.
- Thanks to Ian Babrou.
-
- *) Bugfix: "crypt_r() failed" errors might appear if the "auth_basic"
- directive was used on Linux.
-
- *) Bugfix: in backup servers handling.
- Thanks to Thomas Chen.
-
- *) Bugfix: proxied HEAD requests might return incorrect response if the
- "gzip" directive was used.
-
-
-Changes with nginx 1.3.9 27 Nov 2012
-
- *) Feature: support for chunked transfer encoding while reading client
- request body.
-
- *) Feature: the $request_time and $msec variables can now be used not
- only in the "log_format" directive.
-
- *) Bugfix: cache manager and cache loader processes might not be able to
- start if more than 512 listen sockets were used.
-
- *) Bugfix: in the ngx_http_dav_module.
-
-
-Changes with nginx 1.3.8 30 Oct 2012
-
- *) Feature: the "optional_no_ca" parameter of the "ssl_verify_client"
- directive.
- Thanks to Mike Kazantsev and Eric O'Connor.
-
- *) Feature: the $bytes_sent, $connection, and $connection_requests
- variables can now be used not only in the "log_format" directive.
- Thanks to Benjamin Grössing.
-
- *) Feature: the "auto" parameter of the "worker_processes" directive.
-
- *) Bugfix: "cache file ... has md5 collision" alert.
-
- *) Bugfix: in the ngx_http_gunzip_filter_module.
-
- *) Bugfix: in the "ssl_stapling" directive.
-
-
-Changes with nginx 1.3.7 02 Oct 2012
-
- *) Feature: OCSP stapling support.
- Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
-
- *) Feature: the "ssl_trusted_certificate" directive.
-
- *) Feature: resolver now randomly rotates addresses returned from cache.
- Thanks to Anton Jouline.
-
- *) Bugfix: OpenSSL 0.9.7 compatibility.
-
-
-Changes with nginx 1.3.6 12 Sep 2012
-
- *) Feature: the ngx_http_gunzip_filter_module.
-
- *) Feature: the "memcached_gzip_flag" directive.
-
- *) Feature: the "always" parameter of the "gzip_static" directive.
-
- *) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14.
- Thanks to Charles Chen.
-
- *) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if
- the --with-ipv6 option was used.
-
-
-Changes with nginx 1.3.5 21 Aug 2012
-
- *) Change: the ngx_http_mp4_module module no longer skips tracks in
- formats other than H.264 and AAC.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "map" directive was used with variables as values.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "geo" directive was used with the "ranges" parameter but without the
- "default" parameter; the bug had appeared in 0.8.43.
- Thanks to Zhen Chen and Weibin Yao.
-
- *) Bugfix: in the -p command-line parameter handling.
-
- *) Bugfix: in the mail proxy server.
-
- *) Bugfix: of minor potential bugs.
- Thanks to Coverity.
-
- *) Bugfix: nginx/Windows could not be built with Visual Studio 2005
- Express.
- Thanks to HAYASHI Kentaro.
-
-
-Changes with nginx 1.3.4 31 Jul 2012
-
- *) Change: the "ipv6only" parameter is now turned on by default for
- listening IPv6 sockets.
-
- *) Feature: the Clang compiler support.
-
- *) Bugfix: extra listening sockets might be created.
- Thanks to Roman Odaisky.
-
- *) Bugfix: nginx/Windows might hog CPU if a worker process failed to
- start.
- Thanks to Ricardo Villalobos Guevara.
-
- *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header",
- "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header",
- "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header"
- directives might be inherited incorrectly.
-
-
-Changes with nginx 1.3.3 10 Jul 2012
-
- *) Feature: entity tags support and the "etag" directive.
-
- *) Bugfix: trailing dot in a source value was not ignored if the "map"
- directive was used with the "hostnames" parameter.
-
- *) Bugfix: incorrect location might be used to process a request if a
- URI was changed via a "rewrite" directive before an internal redirect
- to a named location.
-
-
-Changes with nginx 1.3.2 26 Jun 2012
-
- *) Change: the "single" parameter of the "keepalive" directive is now
- ignored.
-
- *) Change: SSL compression is now disabled when using all versions of
- OpenSSL, including ones prior to 1.0.0.
-
- *) Feature: it is now possible to use the "ip_hash" directive to balance
- IPv6 clients.
-
- *) Feature: the $status variable can now be used not only in the
- "log_format" directive.
-
- *) Bugfix: a segmentation fault might occur in a worker process on
- shutdown if the "resolver" directive was used.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- ngx_http_mp4_module was used.
-
- *) Bugfix: in the ngx_http_mp4_module.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- conflicting wildcard server names were used.
-
- *) Bugfix: nginx might be terminated abnormally on a SIGBUS signal on
- ARM platform.
-
- *) Bugfix: an alert "sendmsg() failed (9: Bad file number)" on HP-UX
- while reconfiguration.
-
-
-Changes with nginx 1.3.1 05 Jun 2012
-
- *) Security: now nginx/Windows ignores trailing dot in URI path
- component, and does not allow URIs with ":$" in it.
- Thanks to Vladimir Kochetkov, Positive Research Center.
-
- *) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
- directives, and the "server" directive inside the "upstream" block,
- now support IPv6 addresses.
-
- *) Feature: the "resolver" directive now supports IPv6 addresses and an
- optional port specification.
-
- *) Feature: the "least_conn" directive inside the "upstream" block.
-
- *) Feature: it is now possible to specify a weight for servers while
- using the "ip_hash" directive.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "image_filter" directive was used; the bug had appeared in 1.3.0.
-
- *) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
- had appeared in 1.1.12.
-
- *) Bugfix: access to variables from SSI and embedded perl module might
- not work after reconfiguration.
- Thanks to Yichun Zhang.
-
- *) Bugfix: in the ngx_http_xslt_filter_module.
- Thanks to Kuramoto Eiji.
-
- *) Bugfix: memory leak if $geoip_org variable was used.
- Thanks to Denis F. Latypoff.
-
- *) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
- directives.
-
-
-Changes with nginx 1.3.0 15 May 2012
-
- *) Feature: the "debug_connection" directive now supports IPv6 addresses
- and the "unix:" parameter.
-
- *) Feature: the "set_real_ip_from" directive and the "proxy" parameter
- of the "geo" directive now support IPv6 addresses.
-
- *) Feature: the "real_ip_recursive", "geoip_proxy", and
- "geoip_proxy_recursive" directives.
-
- *) Feature: the "proxy_recursive" parameter of the "geo" directive.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "resolver" directive was used.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and
- backend returned incorrect response.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "rewrite" directive was used and new request arguments in a
- replacement used variables.
-
- *) Bugfix: nginx might hog CPU if the open file resource limit was
- reached.
-
- *) Bugfix: nginx might loop infinitely over backends if the
- "proxy_next_upstream" directive with the "http_404" parameter was
- used and there were backup servers specified in an upstream block.
-
- *) Bugfix: adding the "down" parameter of the "server" directive might
- cause unneeded client redistribution among backend servers if the
- "ip_hash" directive was used.
-
- *) Bugfix: socket leak.
- Thanks to Yichun Zhang.
-
- *) Bugfix: in the ngx_http_fastcgi_module.
-
-
-Changes with nginx 1.2.0 23 Apr 2012
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "try_files" directive was used; the bug had appeared in 1.1.19.
-
- *) Bugfix: response might be truncated if there were more than IOV_MAX
- buffers used.
-
- *) Bugfix: in the "crop" parameter of the "image_filter" directive.
- Thanks to Maxim Bublis.
-
-
-Changes with nginx 1.1.19 12 Apr 2012
-
- *) Security: specially crafted mp4 file might allow to overwrite memory
- locations in a worker process if the ngx_http_mp4_module was used,
- potentially resulting in arbitrary code execution (CVE-2012-2089).
- Thanks to Matthew Daley.
-
- *) Bugfix: nginx/Windows might be terminated abnormally.
- Thanks to Vincent Lee.
-
- *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
- "backup".
-
- *) Bugfix: the "allow" and "deny" directives might be inherited
- incorrectly if they were used with IPv6 addresses.
-
- *) Bugfix: the "modern_browser" and "ancient_browser" directives might
- be inherited incorrectly.
-
- *) Bugfix: timeouts might be handled incorrectly on Solaris/SPARC.
-
- *) Bugfix: in the ngx_http_mp4_module.
-
-
-Changes with nginx 1.1.18 28 Mar 2012
-
- *) Change: keepalive connections are no longer disabled for Safari by
- default.
-
- *) Feature: the $connection_requests variable.
-
- *) Feature: $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
- $tcpinfo_rcv_space variables.
-
- *) Feature: the "worker_cpu_affinity" directive now works on FreeBSD.
-
- *) Feature: the "xslt_param" and "xslt_string_param" directives.
- Thanks to Samuel Behan.
-
- *) Bugfix: in configure tests.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the ngx_http_xslt_filter_module.
-
- *) Bugfix: nginx could not be built on Debian GNU/Hurd.
-
-
-Changes with nginx 1.1.17 15 Mar 2012
-
- *) Security: content of previously freed memory might be sent to a
- client if backend returned specially crafted response.
- Thanks to Matthew Daley.
-
- *) Bugfix: in the embedded perl module if used from SSI.
- Thanks to Matthew Daley.
-
- *) Bugfix: in the ngx_http_uwsgi_module.
-
-
-Changes with nginx 1.1.16 29 Feb 2012
-
- *) Change: the simultaneous subrequest limit has been raised to 200.
-
- *) Feature: the "from" parameter of the "disable_symlinks" directive.
-
- *) Feature: the "return" and "error_page" directives can now be used to
- return 307 redirections.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "resolver" directive was used and there was no "error_log" directive
- specified at global level.
- Thanks to Roman Arutyunyan.
-
- *) Bugfix: a segmentation fault might occur in a worker process if the
- "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were
- used.
-
- *) Bugfix: memory leaks.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: in the "disable_symlinks" directive.
-
- *) Bugfix: on ZFS filesystem disk cache size might be calculated
- incorrectly; the bug had appeared in 1.0.1.
-
- *) Bugfix: nginx could not be built by the icc 12.1 compiler.
-
- *) Bugfix: nginx could not be built by gcc on Solaris; the bug had
- appeared in 1.1.15.
-
-
-Changes with nginx 1.1.15 15 Feb 2012
-
- *) Feature: the "disable_symlinks" directive.
-
- *) Feature: the "proxy_cookie_domain" and "proxy_cookie_path"
- directives.
-
- *) Bugfix: nginx might log incorrect error "upstream prematurely closed
- connection" instead of correct "upstream sent too big header" one.
- Thanks to Feibo Li.
-
- *) Bugfix: nginx could not be built with the ngx_http_perl_module if the
- --with-openssl option was used.
-
- *) Bugfix: the number of internal redirects to named locations was not
- limited.
-
- *) Bugfix: calling $r->flush() multiple times might cause errors in the
- ngx_http_gzip_filter_module.
-
- *) Bugfix: temporary files might be not removed if the "proxy_store"
- directive was used with SSI includes.
-
- *) Bugfix: in some cases non-cacheable variables (such as the $args
- variable) returned old empty cached value.
-
- *) Bugfix: a segmentation fault might occur in a worker process if too
- many SSI subrequests were issued simultaneously; the bug had appeared
- in 0.7.25.
-
-
-Changes with nginx 1.1.14 30 Jan 2012
-
- *) Feature: multiple "limit_req" limits may be used simultaneously.
-
- *) Bugfix: in error handling while connecting to a backend.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in AIO error handling on FreeBSD.
-
- *) Bugfix: in the OpenSSL library initialization.
-
- *) Bugfix: the "proxy_redirect" directives might be inherited
- incorrectly.
-
- *) Bugfix: memory leak during reconfiguration if the "pcre_jit"
- directive was used.
-
-
-Changes with nginx 1.1.13 16 Jan 2012
-
- *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the
- "ssl_protocols" directive.
-
- *) Bugfix: the "limit_req" directive parameters were not inherited
- correctly; the bug had appeared in 1.1.12.
-
- *) Bugfix: the "proxy_redirect" directive incorrectly processed
- "Refresh" header if regular expression were used.
-
- *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter
- did not return answer from cache if there were no live upstreams.
-
- *) Bugfix: the "worker_cpu_affinity" directive might not work.
-
- *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
- 1.1.12.
-
- *) Bugfix: in the ngx_http_mp4_module.
-
-
-Changes with nginx 1.1.12 26 Dec 2011
-
- *) Change: a "proxy_pass" directive without URI part now uses changed
- URI after redirection with the "error_page" directive.
- Thanks to Lanshun Zhou.
-
- *) Feature: the "proxy/fastcgi/scgi/uwsgi_cache_lock",
- "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
-
- *) Feature: the "pcre_jit" directive.
-
- *) Feature: the "if" SSI command supports captures in regular
- expressions.
-
- *) Bugfix: the "if" SSI command did not work inside the "block" command.
-
- *) Bugfix: the "limit_conn_log_level" and "limit_req_log_level"
- directives might not work.
-
- *) Bugfix: the "limit_rate" directive did not allow to use full
- throughput, even if limit value was very high.
-
- *) Bugfix: the "sendfile_max_chunk" directive did not work, if the
- "limit_rate" directive was used.
-
- *) Bugfix: a "proxy_pass" directive without URI part always used
- original request URI if variables were used.
-
- *) Bugfix: a "proxy_pass" directive without URI part might use original
- request after redirection with the "try_files" directive.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: in the ngx_http_scgi_module.
-
- *) Bugfix: in the ngx_http_mp4_module.
-
- *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
- 1.1.9.
-
-
-Changes with nginx 1.1.11 12 Dec 2011
-
- *) Feature: the "so_keepalive" parameter of the "listen" directive.
- Thanks to Vsevolod Stakhov.
-
- *) Feature: the "if_not_empty" parameter of the
- "fastcgi/scgi/uwsgi_param" directives.
-
- *) Feature: the $https variable.
-
- *) Feature: the "proxy_redirect" directive supports variables in the
- first parameter.
-
- *) Feature: the "proxy_redirect" directive supports regular expressions.
-
- *) Bugfix: the $sent_http_cache_control variable might contain a wrong
- value if the "expires" directive was used.
- Thanks to Yichun Zhang.
-
- *) Bugfix: the "read_ahead" directive might not work combined with
- "try_files" and "open_file_cache".
-
- *) Bugfix: a segmentation fault might occur in a worker process if small
- time was used in the "inactive" parameter of the "proxy_cache_path"
- directive.
-
- *) Bugfix: responses from cache might hang.
-
-
-Changes with nginx 1.1.10 30 Nov 2011
-
- *) Bugfix: a segmentation fault occurred in a worker process if AIO was
- used on Linux; the bug had appeared in 1.1.9.
-
-
-Changes with nginx 1.1.9 28 Nov 2011
-
- *) Change: now double quotes are encoded in an "echo" SSI-command
- output.
- Thanks to Zaur Abasmirzoev.
-
- *) Feature: the "valid" parameter of the "resolver" directive. By
- default TTL returned by a DNS server is used.
- Thanks to Kirill A. Korinskiy.
-
- *) Bugfix: nginx might hang after a worker process abnormal termination.
-
- *) Bugfix: a segmentation fault might occur in a worker process if SNI
- was used; the bug had appeared in 1.1.2.
-
- *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in
- 1.1.8.
- Thanks to Alexander Usov.
-
- *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the
- bug had appeared in 1.1.1.
-
- *) Bugfix: backend responses with length not matching "Content-Length"
- header line are no longer cached.
-
- *) Bugfix: in the "scgi_param" directive, if complex parameters were
- used.
-
- *) Bugfix: in the "epoll" event method.
- Thanks to Yichun Zhang.
-
- *) Bugfix: in the ngx_http_flv_module.
- Thanks to Piotr Sikora.
-
- *) Bugfix: in the ngx_http_mp4_module.
-
- *) Bugfix: IPv6 addresses are now handled properly in a request line and
- in a "Host" request header line.
-
- *) Bugfix: "add_header" and "expires" directives did not work if a
- request was proxied and response status code was 206.
-
- *) Bugfix: nginx could not be built on FreeBSD 10.
-
- *) Bugfix: nginx could not be built on AIX.
-
-
-Changes with nginx 1.1.8 14 Nov 2011
-
- *) Change: the ngx_http_limit_zone_module was renamed to the
- ngx_http_limit_conn_module.
-
- *) Change: the "limit_zone" directive was superseded by the
- "limit_conn_zone" directive with a new syntax.
-
- *) Feature: support for multiple "limit_conn" limits on the same level.
-
- *) Feature: the "image_filter_sharpen" directive.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- resolver got a big DNS response.
- Thanks to Ben Hawkes.
-
- *) Bugfix: in cache key calculation if internal MD5 implementation was
- used; the bug had appeared in 1.0.4.
-
- *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
- header lines might be passed to backend while caching; or not passed
- without caching if caching was enabled in another part of the
- configuration.
-
- *) Bugfix: the module ngx_http_mp4_module sent incorrect
- "Content-Length" response header line if the "start" argument was
- used.
- Thanks to Piotr Sikora.
-
-
-Changes with nginx 1.1.7 31 Oct 2011
-
- *) Feature: support of several DNS servers in the "resolver" directive.
- Thanks to Kirill A. Korinskiy.
-
- *) Bugfix: a segmentation fault occurred on start or during
- reconfiguration if the "ssl" directive was used at http level and
- there was no "ssl_certificate" defined.
-
- *) Bugfix: reduced memory consumption while proxying big files if they
- were buffered to disk.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- "proxy_http_version 1.1" directive was used.
-
- *) Bugfix: in the "expires @time" directive.
-
-
-Changes with nginx 1.1.6 17 Oct 2011
-
- *) Change in internal API: now module context data are cleared while
- internal redirect to named location.
- Requested by Yichun Zhang.
-
- *) Change: if a server in an upstream failed, only one request will be
- sent to it after fail_timeout; the server will be considered alive if
- it will successfully respond to the request.
-
- *) Change: now the 0x7F-0xFF characters are escaped as \xXX in an
- access_log.
-
- *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
- the following additional values: X-Accel-Limit-Rate,
- X-Accel-Buffering, X-Accel-Charset.
-
- *) Feature: decrease of memory consumption if SSL is used.
-
- *) Bugfix: some UTF-8 characters were processed incorrectly.
- Thanks to Alexey Kuts.
-
- *) Bugfix: the ngx_http_rewrite_module directives specified at "server"
- level were executed twice if no matching locations were defined.
-
- *) Bugfix: a socket leak might occurred if "aio sendfile" was used.
-
- *) Bugfix: connections with fast clients might be closed after
- send_timeout if file AIO was used.
-
- *) Bugfix: in the ngx_http_autoindex_module.
-
- *) Bugfix: the module ngx_http_mp4_module did not support seeking on
- 32-bit platforms.
-
-
-Changes with nginx 1.1.5 05 Oct 2011
-
- *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
- Thanks to Peter Smit.
-
- *) Bugfix: non-cacheable responses might be cached if
- "proxy_cache_bypass" directive was used.
- Thanks to John Ferlito.
-
- *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
-
- *) Bugfix: cached responses with an empty body were returned
- incorrectly; the bug had appeared in 0.8.31.
-
- *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
- bug had appeared in 0.8.32.
-
- *) Bugfix: in the "return" directive.
-
- *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
- fault; the bug had appeared in 1.1.1.
-
-
-Changes with nginx 1.1.4 20 Sep 2011
-
- *) Feature: the ngx_http_upstream_keepalive module.
-
- *) Feature: the "proxy_http_version" directive.
-
- *) Feature: the "fastcgi_keep_conn" directive.
-
- *) Feature: the "worker_aio_requests" directive.
-
- *) Bugfix: if nginx was built --with-file-aio it could not be run on
- Linux kernel which did not support AIO.
-
- *) Bugfix: in Linux AIO error processing.
- Thanks to Hagai Avrahami.
-
- *) Bugfix: reduced memory consumption for long-lived requests.
-
- *) Bugfix: the module ngx_http_mp4_module did not support 64-bit MP4
- "co64" atom.
-
-
-Changes with nginx 1.1.3 14 Sep 2011
-
- *) Feature: the module ngx_http_mp4_module.
-
- *) Bugfix: in Linux AIO combined with open_file_cache.
-
- *) Bugfix: open_file_cache did not update file info on retest if file
- was not atomically changed.
-
- *) Bugfix: nginx could not be built on MacOSX 10.7.
-
-
-Changes with nginx 1.1.2 05 Sep 2011
-
- *) Change: now if total size of all ranges is greater than source
- response size, then nginx disables ranges and returns just the source
- response.
-
- *) Feature: the "max_ranges" directive.
-
- *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and
- "ssl_prefer_server_ciphers" directives might work incorrectly if SNI
- was used.
-
- *) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
- directives.
-
-
-Changes with nginx 1.1.1 22 Aug 2011
-
- *) Change: now cache loader processes either as many files as specified
- by "loader_files" parameter or works no longer than time specified by
- the "loader_threshold" parameter during each iteration.
-
- *) Change: now SIGWINCH signal works only in daemon mode.
-
- *) Feature: now shared zones and caches use POSIX semaphores on Solaris.
- Thanks to Den Ivanov.
-
- *) Feature: accept filters are now supported on NetBSD.
-
- *) Bugfix: nginx could not be built on Linux 3.0.
-
- *) Bugfix: nginx did not use gzipping in some cases; the bug had
- appeared in 1.1.0.
-
- *) Bugfix: request body might be processed incorrectly if client used
- pipelining.
-
- *) Bugfix: in the "request_body_in_single_buf" directive.
-
- *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
- if SSL connection to backend was used.
-
- *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
- "down".
-
- *) Bugfix: a segmentation fault might occur during reconfiguration if
- ssl_session_cache was defined but not used in previous configuration.
-
- *) Bugfix: a segmentation fault might occur in a worker process if many
- backup servers were used in an upstream.
-
- *) Bugfix: a segmentation fault might occur in a worker process if
- "fastcgi/scgi/uwsgi_param" directives were used with values starting
- with "HTTP_"; the bug had appeared in 0.8.40.
-
-
-Changes with nginx 1.1.0 01 Aug 2011
-
- *) Feature: cache loader run time decrease.
-
- *) Feature: "loader_files", "loader_sleep", and "loader_threshold"
- options of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
-
- *) Feature: loading time decrease of configuration with large number of
- HTTPS sites.
-
- *) Feature: now nginx supports ECDHE key exchange ciphers.
- Thanks to Adrian Kotelba.
-
- *) Feature: the "lingering_close" directive.
- Thanks to Maxim Dounin.
-
- *) Bugfix: in closing connection for pipelined requests.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
- "Accept-Encoding" request header line.
-
- *) Bugfix: in timeout in unbuffered proxied mode.
- Thanks to Maxim Dounin.
-
- *) Bugfix: memory leaks when a "proxy_pass" directive contains variables
- and proxies to an HTTPS backend.
- Thanks to Maxim Dounin.
-
- *) Bugfix: in parameter validation of a "proxy_pass" directive with
- variables.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: SSL did not work on QNX.
- Thanks to Maxim Dounin.
-
- *) Bugfix: SSL modules could not be built by gcc 4.6 without
- --with-debug option.
-
-
-Changes with nginx 1.0.5 19 Jul 2011
-
- *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5".
- Thanks to Rob Stradling.
-
- *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size"
- directives.
- Thanks to Witold Filipczyk.
-
- *) Feature: $uid_reset variable.
-
- *) Bugfix: a segmentation fault might occur in a worker process, if a
- caching was used.
- Thanks to Lanshun Zhou.
-
- *) Bugfix: worker processes may got caught in an endless loop during
- reconfiguration, if a caching was used; the bug had appeared in
- 0.8.48.
- Thanks to Maxim Dounin.
-
- *) Bugfix: "stalled cache updating" alert.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 1.0.4 01 Jun 2011
-
- *) Change: now regular expressions case sensitivity in the "map"
- directive is given by prefixes "~" or "~*".
-
- *) Feature: now shared zones and caches use POSIX semaphores on Linux.
- Thanks to Denis F. Latypoff.
-
- *) Bugfix: "stalled cache updating" alert.
-
- *) Bugfix: nginx could not be built --without-http_auth_basic_module;
- the bug had appeared in 1.0.3.
-
-
-Changes with nginx 1.0.3 25 May 2011
-
- *) Feature: the "auth_basic_user_file" directive supports "$apr1",
- "{PLAIN}", and "{SSHA}" password encryption methods.
- Thanks to Maxim Dounin.
-
- *) Feature: the "geoip_org" directive and $geoip_org variable.
- Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
-
- *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4
- addresses mapped to IPv6 addresses.
-
- *) Bugfix: a segmentation fault occurred in a worker process during
- testing IPv4 address mapped to IPv6 address, if access or deny rules
- were defined only for IPv6; the bug had appeared in 0.8.22.
-
- *) Bugfix: a cached response may be broken if "proxy/fastcgi/scgi/
- uwsgi_cache_bypass" and "proxy/fastcgi/scgi/uwsgi_no_cache" directive
- values were different; the bug had appeared in 0.8.46.
-
-
-Changes with nginx 1.0.2 10 May 2011
-
- *) Feature: now shared zones and caches use POSIX semaphores.
-
- *) Bugfix: in the "rotate" parameter of the "image_filter" directive.
- Thanks to Adam Bocim.
-
- *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
- 1.0.1.
-
-
-Changes with nginx 1.0.1 03 May 2011
-
- *) Change: now the "split_clients" directive uses MurmurHash2 algorithm
- because of better distribution.
- Thanks to Oleg Mamontov.
-
- *) Change: now long strings starting with zero are not considered as
- false values.
- Thanks to Maxim Dounin.
-
- *) Change: now nginx uses a default listen backlog value 511 on Linux.
-
- *) Feature: the $upstream_... variables may be used in the SSI and perl
- modules.
-
- *) Bugfix: now nginx limits better disk cache size.
- Thanks to Oleg Mamontov.
-
- *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4
- address; the bug had appeared in 0.9.3.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug
- option.
-
- *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug
- had appeared in 0.9.3.
- Thanks to Dagobert Michelsen.
-
- *) Bugfix: $request_time variable had invalid values if subrequests were
- used; the bug had appeared in 0.8.47.
- Thanks to Igor A. Valcov.
-
-
-Changes with nginx 1.0.0 12 Apr 2011
-
- *) Bugfix: a cache manager might hog CPU after reload.
- Thanks to Maxim Dounin.
-
- *) Bugfix: an "image_filter crop" directive worked incorrectly coupled
- with an "image_filter rotate 180" directive.
-
- *) Bugfix: a "satisfy any" directive disabled custom 401 error page.
-
-
-Changes with nginx 0.9.7 04 Apr 2011
-
- *) Feature: now keepalive connections may be closed premature, if there
- are no free worker connections.
- Thanks to Maxim Dounin.
-
- *) Feature: the "rotate" parameter of the "image_filter" directive.
- Thanks to Adam Bocim.
-
- *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or
- "uwsgi_pass" directives is given by expression and refers to a
- defined upstream.
-
-
-Changes with nginx 0.9.6 21 Mar 2011
-
- *) Feature: the "map" directive supports regular expressions as value of
- the first parameter.
-
- *) Feature: $time_iso8601 access_log variable.
- Thanks to Michael Lustfield.
-
-
-Changes with nginx 0.9.5 21 Feb 2011
-
- *) Change: now nginx uses a default listen backlog value -1 on Linux.
- Thanks to Andrei Nigmatulin.
-
- *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city"
- directives.
- Thanks to Denis F. Latypoff.
-
- *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass"
- directive has no URI part.
- Thanks to Maxim Dounin.
-
- *) Bugfix: an "error_page" directive did not work with nonstandard error
- codes; the bug had appeared in 0.8.53.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.9.4 21 Jan 2011
-
- *) Feature: the "server_name" directive supports the $hostname variable.
-
- *) Feature: 494 code for "Request Header Too Large" error.
-
-
-Changes with nginx 0.9.3 13 Dec 2010
-
- *) Bugfix: if there was a single server for given IPv6 address:port
- pair, then captures in regular expressions in a "server_name"
- directive did not work.
-
- *) Bugfix: nginx could not be built on Solaris; the bug had appeared in
- 0.9.0.
-
-
-Changes with nginx 0.9.2 06 Dec 2010
-
- *) Feature: the "If-Unmodified-Since" client request header line
- support.
-
- *) Workaround: fallback to accept() syscall if accept4() was not
- implemented; the issue had appeared in 0.9.0.
-
- *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in
- 0.9.0.
-
- *) Bugfix: for OpenSSL vulnerability CVE-2010-4180.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.9.1 30 Nov 2010
-
- *) Bugfix: "return CODE message" directives did not work; the bug had
- appeared in 0.9.0.
-
-
-Changes with nginx 0.9.0 29 Nov 2010
-
- *) Feature: the "keepalive_disable" directive.
-
- *) Feature: the "map" directive supports variables as value of a defined
- variable.
-
- *) Feature: the "map" directive supports empty strings as value of the
- first parameter.
-
- *) Feature: the "map" directive supports expressions as the first
- parameter.
-
- *) Feature: nginx(8) manual page.
- Thanks to Sergey Osokin.
-
- *) Feature: Linux accept4() support.
- Thanks to Simon Liu.
-
- *) Workaround: elimination of Linux linker warning about "sys_errlist"
- and "sys_nerr"; the warning had appeared in 0.8.35.
-
- *) Bugfix: a segmentation fault might occur in a worker process, if the
- "auth_basic" directive was used.
- Thanks to Michail Laletin.
-
- *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared
- in 0.8.42.
-
-
-Changes with nginx 0.8.53 18 Oct 2010
-
- *) Feature: now the "error_page" directive allows to change a status
- code in a redirect.
-
- *) Feature: the "gzip_disable" directive supports special "degradation"
- mask.
-
- *) Bugfix: a socket leak might occurred if file AIO was used.
- Thanks to Maxim Dounin.
-
- *) Bugfix: if the first server had no "listen" directive and there was
- no explicit default server, then a next server with a "listen"
- directive became the default server; the bug had appeared in 0.8.21.
-
-
-Changes with nginx 0.8.52 28 Sep 2010
-
- *) Bugfix: nginx used SSL mode for a listen socket if any listen option
- was set; the bug had appeared in 0.8.51.
-
-
-Changes with nginx 0.8.51 27 Sep 2010
-
- *) Change: the "secure_link_expires" directive has been canceled.
-
- *) Change: a logging level of resolver errors has been lowered from
- "alert" to "error".
-
- *) Feature: now a listen socket "ssl" parameter may be set several
- times.
-
-
-Changes with nginx 0.8.50 02 Sep 2010
-
- *) Feature: the "secure_link", "secure_link_md5", and
- "secure_link_expires" directives of the ngx_http_secure_link_module.
-
- *) Feature: the -q switch.
- Thanks to Gena Makhomed.
-
- *) Bugfix: worker processes may got caught in an endless loop during
- reconfiguration, if a caching was used; the bug had appeared in
- 0.8.48.
-
- *) Bugfix: in the "gzip_disable" directive.
- Thanks to Derrick Petzold.
-
- *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload
- signals to a process run in other session.
-
-
-Changes with nginx 0.8.49 09 Aug 2010
-
- *) Feature: the "image_filter_jpeg_quality" directive supports
- variables.
-
- *) Bugfix: a segmentation fault might occur in a worker process, if the
- $geoip_region_name variables was used; the bug had appeared in
- 0.8.48.
-
- *) Bugfix: errors intercepted by error_page were cached only for next
- request; the bug had appeared in 0.8.48.
-
-
-Changes with nginx 0.8.48 03 Aug 2010
-
- *) Change: now the "server_name" directive default value is an empty
- name "".
- Thanks to Gena Makhomed.
-
- *) Change: now the "server_name_in_redirect" directive default value is
- "off".
-
- *) Feature: the $geoip_dma_code, $geoip_area_code, and
- $geoip_region_name variables.
- Thanks to Christine McGonagle.
-
- *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and
- "scgi_pass" directives were not inherited inside "limit_except"
- blocks.
-
- *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
- "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not
- work; the bug had appeared in 0.8.46.
-
- *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly
- captures, if only parts of an URI were captured.
- Thanks to Yuriy Taraday and Frank Enderle.
-
- *) Bugfix: the "rewrite" directive did not escape a ";" character during
- copying from URI to query string.
- Thanks to Daisuke Murase.
-
- *) Bugfix: the ngx_http_image_filter_module closed a connection, if an
- image was larger than "image_filter_buffer" size.
-
-
-Changes with nginx 0.8.47 28 Jul 2010
-
- *) Bugfix: $request_time variable had invalid values for subrequests.
-
- *) Bugfix: errors intercepted by error_page could not be cached.
-
- *) Bugfix: a cache manager process may got caught in an endless loop, if
- max_size parameter was used; the bug had appeared in 0.8.46.
-
-
-Changes with nginx 0.8.46 19 Jul 2010
-
- *) Change: now the "proxy_no_cache", "fastcgi_no_cache",
- "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached
- response saving only.
-
- *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass",
- "uwsgi_cache_bypass", and "scgi_cache_bypass" directives.
-
- *) Bugfix: nginx did not free memory in cache keys zones if there was an
- error during working with backend: the memory was freed only after
- inactivity time or on memory low condition.
-
-
-Changes with nginx 0.8.45 13 Jul 2010
-
- *) Feature: ngx_http_xslt_filter improvements.
- Thanks to Laurence Rowe.
-
- *) Bugfix: SSI response might be truncated after include with
- wait="yes"; the bug had appeared in 0.7.25.
- Thanks to Maxim Dounin.
-
- *) Bugfix: the "listen" directive did not support the "setfib=0"
- parameter.
-
-
-Changes with nginx 0.8.44 05 Jul 2010
-
- *) Change: now nginx does not cache by default backend responses, if
- they have a "Set-Cookie" header line.
-
- *) Feature: the "listen" directive supports the "setfib" parameter.
- Thanks to Andrew Filonov.
-
- *) Bugfix: the "sub_filter" directive might change character case on
- partial match.
-
- *) Bugfix: compatibility with HP/UX.
-
- *) Bugfix: compatibility with AIX xlC_r compiler.
-
- *) Bugfix: nginx treated large SSLv2 packets as plain requests.
- Thanks to Miroslaw Jaworski.
-
-
-Changes with nginx 0.8.43 30 Jun 2010
-
- *) Feature: large geo ranges base loading speed-up.
-
- *) Bugfix: an error_page redirection to "location /zero {return 204;}"
- without changing status code kept the error body; the bug had
- appeared in 0.8.42.
-
- *) Bugfix: nginx might close IPv6 listen socket during reconfiguration.
- Thanks to Maxim Dounin.
-
- *) Bugfix: the $uid_set variable may be used at any request processing
- stage.
-
-
-Changes with nginx 0.8.42 21 Jun 2010
-
- *) Change: now nginx tests locations given by regular expressions, if
- request was matched exactly by a location given by a prefix string.
- The previous behavior has been introduced in 0.7.1.
-
- *) Feature: the ngx_http_scgi_module.
- Thanks to Manlio Perillo.
-
- *) Feature: a text answer may be added to a "return" directive.
-
-
-Changes with nginx 0.8.41 15 Jun 2010
-
- *) Security: nginx/Windows worker might be terminated abnormally if a
- requested file name has invalid UTF-8 encoding.
-
- *) Change: now nginx allows to use spaces in a request line.
-
- *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend
- "Refresh" response header line.
- Thanks to Andrey Andreew and Max Sogin.
-
- *) Bugfix: nginx did not support path without host name in "Destination"
- request header line.
-
-
-Changes with nginx 0.8.40 07 Jun 2010
-
- *) Security: now nginx/Windows ignores default file stream name.
- Thanks to Jose Antonio Vazquez Gonzalez.
-
- *) Feature: the ngx_http_uwsgi_module.
- Thanks to Roberto De Ioris.
-
- *) Feature: a "fastcgi_param" directive with value starting with "HTTP_"
- overrides a client request header line.
-
- *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
- header lines were passed to FastCGI-server while caching.
-
- *) Bugfix: listen unix domain socket could not be changed during
- reconfiguration.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.8.39 31 May 2010
-
- *) Bugfix: an inherited "alias" directive worked incorrectly in
- inclusive location.
-
- *) Bugfix: in "alias" with variables and "try_files" directives
- combination.
-
- *) Bugfix: listen unix domain and IPv6 sockets did not inherit while
- online upgrade.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.8.38 24 May 2010
-
- *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives.
-
- *) Feature: now the "rewrite" directive does a redirect automatically if
- the $scheme variable is used.
- Thanks to Piotr Sikora.
-
- *) Bugfix: now "limit_req" delay directive conforms to the described
- algorithm.
- Thanks to Maxim Dounin.
-
- *) Bugfix: the $uid_got variable might not be used in the SSI and perl
- modules.
-
-
-Changes with nginx 0.8.37 17 May 2010
-
- *) Feature: the ngx_http_split_clients_module.
-
- *) Feature: the "map" directive supports keys more than 255 characters.
-
- *) Bugfix: nginx ignored the "private" and "no-store" values in the
- "Cache-Control" backend response header line.
-
- *) Bugfix: a "stub" parameter of an "include" SSI directive was not
- used, if empty response has 200 status code.
-
- *) Bugfix: if a proxied or FastCGI request was internally redirected to
- another proxied or FastCGI location, then a segmentation fault might
- occur in a worker process; the bug had appeared in 0.8.33.
- Thanks to Yichun Zhang.
-
- *) Bugfix: IMAP connections may hang until they timed out while talking
- to Zimbra server.
- Thanks to Alan Batie.
-
-
-Changes with nginx 0.8.36 22 Apr 2010
-
- *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY,
- and MOVE methods for symlinks.
-
- *) Bugfix: values of the $query_string, $arg_..., etc. variables cached
- in main request were used by the SSI module in subrequests.
-
- *) Bugfix: a variable value was repeatedly encoded after each an "echo"
- SSI-command output; the bug had appeared in 0.6.14.
-
- *) Bugfix: a worker process hung if a FIFO file was requested.
- Thanks to Vicente Aguilar and Maxim Dounin.
-
- *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx could not be built --without-http-cache; the bug had
- appeared in 0.8.35.
-
-
-Changes with nginx 0.8.35 01 Apr 2010
-
- *) Change: now the charset filter runs before the SSI filter.
-
- *) Feature: the "chunked_transfer_encoding" directive.
-
- *) Bugfix: an "&" character was not escaped when it was copied in
- arguments part in a rewrite rule.
-
- *) Bugfix: nginx might be terminated abnormally while a signal
- processing or if the directive "timer_resolution" was used on
- platforms which do not support kqueue or eventport notification
- methods.
- Thanks to George Xie and Maxim Dounin.
-
- *) Bugfix: if temporary files and permanent storage area resided at
- different file systems, then permanent file modification times were
- incorrect.
- Thanks to Maxim Dounin.
-
- *) Bugfix: ngx_http_memcached_module might issue the error message
- "memcached sent invalid trailer".
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx could not built zlib-1.2.4 library using the library
- sources.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a segmentation fault occurred in a worker process, if there
- was large stderr output before FastCGI response; the bug had appeared
- in 0.8.34.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.8.34 03 Mar 2010
-
- *) Bugfix: nginx did not support all ciphers and digests used in client
- certificates.
- Thanks to Innocenty Enikeew.
-
- *) Bugfix: nginx cached incorrectly FastCGI responses if there was large
- stderr output before response.
-
- *) Bugfix: nginx did not support HTTPS referrers.
-
- *) Bugfix: nginx/Windows might not find file if path in configuration
- was given in other character case; the bug had appeared in 0.8.33.
-
- *) Bugfix: the $date_local variable has an incorrect value, if the "%s"
- format was used.
- Thanks to Maxim Dounin.
-
- *) Bugfix: if ssl_session_cache was not set or was set to "none", then
- during client certificate verify the error "session id context
- uninitialized" might occur; the bug had appeared in 0.7.1.
-
- *) Bugfix: a geo range returned default value if the range included two
- or more /16 networks and did not begin at /16 network boundary.
-
- *) Bugfix: a block used in a "stub" parameter of an "include" SSI
- directive was output with "text/plain" MIME type.
-
- *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.33 01 Feb 2010
-
- *) Security: now nginx/Windows ignores trailing spaces in URI.
- Thanks to Dan Crowley, Core Security Technologies.
-
- *) Security: now nginx/Windows ignores short files names.
- Thanks to Dan Crowley, Core Security Technologies.
-
- *) Change: now keepalive connections after POST requests are not
- disabled for MSIE 7.0+.
- Thanks to Adam Lounds.
-
- *) Workaround: now keepalive connections are disabled for Safari.
- Thanks to Joshua Sierles.
-
- *) Bugfix: if a proxied or FastCGI request was internally redirected to
- another proxied or FastCGI location, then $upstream_response_time
- variable may have abnormally large value; the bug had appeared in
- 0.8.7.
-
- *) Bugfix: a segmentation fault might occur in a worker process, while
- discarding a request body; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.32 11 Jan 2010
-
- *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
- Thanks to Maxim Dounin.
-
- *) Bugfix: regular expression named captures worked for two names only.
- Thanks to Maxim Dounin.
-
- *) Bugfix: now the "localhost" name is used in the "Host" request header
- line, if an unix domain socket is defined in the "auth_http"
- directive.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx did not support chunked transfer encoding for 201
- responses.
- Thanks to Julian Reich.
-
- *) Bugfix: if the "expires modified" set date in the past, then a
- negative number was set in the "Cache-Control" response header line.
- Thanks to Alex Kapranoff.
-
-
-Changes with nginx 0.8.31 23 Dec 2009
-
- *) Feature: now the "error_page" directive may redirect the 301 and 302
- responses.
-
- *) Feature: the $geoip_city_continent_code, $geoip_latitude, and
- $geoip_longitude variables.
- Thanks to Arvind Sundararajan.
-
- *) Feature: now the ngx_http_image_filter_module deletes always EXIF and
- other application specific data if the data consume more than 5% of a
- JPEG file.
-
- *) Bugfix: nginx closed a connection if a cached response had an empty
- body.
- Thanks to Piotr Sikora.
-
- *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher
- optimization option was used.
- Thanks to Maxim Dounin and Denis F. Latypoff.
-
- *) Bugfix: regular expressions in location were always tested in
- case-sensitive mode; the bug had appeared in 0.8.25.
-
- *) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
- header line in a proxied request.
- Thanks to Tim Dettrick and David Kostal.
-
- *) Bugfix: nginx/Windows tried to delete a temporary file twice if the
- file should replace an already existent file.
-
-
-Changes with nginx 0.8.30 15 Dec 2009
-
- *) Change: now the default buffer size of the
- "large_client_header_buffers" directive is 8K.
- Thanks to Andrew Cholakian.
-
- *) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
-
- *) Bugfix: nginx/Windows tried to rename a temporary file twice if the
- file should replace an already existent file.
-
- *) Bugfix: of "double free or corruption" error issued if host could not
- be resolved; the bug had appeared in 0.8.22.
- Thanks to Konstantin Svist.
-
- *) Bugfix: in libatomic usage on some platforms.
- Thanks to W-Mark Kubacki.
-
-
-Changes with nginx 0.8.29 30 Nov 2009
-
- *) Change: now the "009" status code is written to an access log for
- proxied HTTP/0.9 responses.
-
- *) Feature: the "addition_types", "charset_types", "gzip_types",
- "ssi_types", "sub_filter_types", and "xslt_types" directives support
- an "*" parameter.
-
- *) Feature: GCC 4.1+ built-in atomic operations usage.
- Thanks to W-Mark Kubacki.
-
- *) Feature: the --with-libatomic[=DIR] option in the configure.
- Thanks to W-Mark Kubacki.
-
- *) Bugfix: listen unix domain socket had limited access rights.
-
- *) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
-
- *) Bugfix: regular expression named captures given by "?P<...>" did not
- work in a "server_name" directive.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.8.28 23 Nov 2009
-
- *) Bugfix: nginx could not be built with the --without-pcre parameter;
- the bug had appeared in 0.8.25.
-
-
-Changes with nginx 0.8.27 17 Nov 2009
-
- *) Bugfix: regular expressions did not work in nginx/Windows; the bug
- had appeared in 0.8.25.
-
-
-Changes with nginx 0.8.26 16 Nov 2009
-
- *) Bugfix: in captures usage in "rewrite" directive; the bug had
- appeared in 0.8.25.
-
- *) Bugfix: nginx could not be built without the --with-debug option; the
- bug had appeared in 0.8.25.
-
-
-Changes with nginx 0.8.25 16 Nov 2009
-
- *) Change: now no message is written in an error log if a variable is
- not found by $r->variable() method.
-
- *) Feature: the ngx_http_degradation_module.
-
- *) Feature: regular expression named captures.
-
- *) Feature: now URI part is not required a "proxy_pass" directive if
- variables are used.
-
- *) Feature: now the "msie_padding" directive works for Chrome too.
-
- *) Bugfix: a segmentation fault occurred in a worker process on low
- memory condition; the bug had appeared in 0.8.18.
-
- *) Bugfix: nginx sent gzipped responses to clients those do not support
- gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
- in 0.8.16.
-
-
-Changes with nginx 0.8.24 11 Nov 2009
-
- *) Bugfix: nginx always added "Content-Encoding: gzip" response header
- line in 304 responses sent by ngx_http_gzip_static_module.
-
- *) Bugfix: nginx could not be built without the --with-debug option; the
- bug had appeared in 0.8.23.
-
- *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive
- inherited incorrectly from previous level.
-
- *) Bugfix: in resolving empty name.
-
-
-Changes with nginx 0.8.23 11 Nov 2009
-
- *) Security: now SSL/TLS renegotiation is disabled.
- Thanks to Maxim Dounin.
-
- *) Bugfix: listen unix domain socket did not inherit while online
- upgrade.
-
- *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did
- not without yet another directive with any IP address.
-
- *) Bugfix: segmentation fault and infinite looping in resolver.
-
- *) Bugfix: in resolver.
- Thanks to Artem Bokhan.
-
-
-Changes with nginx 0.8.22 03 Nov 2009
-
- *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind"
- directives.
-
- *) Feature: the "access" and the "deny" directives support IPv6.
-
- *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in
- request headers.
-
- *) Feature: the "unix:" parameter of the "set_real_ip_from" directive.
-
- *) Bugfix: nginx did not delete unix domain socket after configuration
- testing.
-
- *) Bugfix: nginx deleted unix domain socket while online upgrade.
-
- *) Bugfix: the "!-x" operator did not work.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a segmentation fault might occur in a worker process, if
- limit_rate was used in HTTPS server.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a segmentation fault might occur in a worker process while
- $limit_rate logging.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a segmentation fault might occur in a worker process, if
- there was no "listen" directive in "server" block; the bug had
- appeared in 0.8.21.
-
-
-Changes with nginx 0.8.21 26 Oct 2009
-
- *) Feature: now the "-V" switch shows TLS SNI support.
-
- *) Feature: the "listen" directive of the HTTP module supports unix
- domain sockets.
- Thanks to Hongli Lai.
-
- *) Feature: the "default_server" parameter of the "listen" directive.
-
- *) Feature: now a "default" parameter is not required to set listen
- socket options.
-
- *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
-
- *) Bugfix: socket leak; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.20 14 Oct 2009
-
- *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
-
- *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash
- in links to a directory; the bug had appeared in 0.7.15.
-
- *) Bugfix: nginx did not close a log file set by the --error-log-path
- configuration option; the bug had appeared in 0.7.53.
-
- *) Bugfix: nginx did not treat a comma as separator in the
- "Cache-Control" backend response header line.
-
- *) Bugfix: nginx/Windows might not create temporary file, a cache file,
- or "proxy/fastcgi_store"d file if a worker had no enough access
- rights for top level directories.
-
- *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were
- not hidden while caching if no "fastcgi_hide_header" directives were
- used with any parameters.
-
- *) Bugfix: nginx counted incorrectly disk cache size.
-
-
-Changes with nginx 0.8.19 06 Oct 2009
-
- *) Change: now SSLv2 protocol is disabled by default.
-
- *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
-
- *) Bugfix: a "limit_req" directive did not work; the bug had appeared in
- 0.8.18.
-
-
-Changes with nginx 0.8.18 06 Oct 2009
-
- *) Feature: the "read_ahead" directive.
-
- *) Feature: now several "perl_modules" directives may be used.
-
- *) Feature: the "limit_req_log_level" and "limit_conn_log_level"
- directives.
-
- *) Bugfix: now "limit_req" directive conforms to the leaky bucket
- algorithm.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx did not work on Linux/sparc.
- Thanks to Marcus Ramberg.
-
- *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL
- request.
- Thanks to Xie Zhenye.
-
- *) Bugfix: zero status code was logged instead of 499 status code; the
- bug had appeared in 0.8.11.
-
- *) Bugfix: socket leak; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.17 28 Sep 2009
-
- *) Security: now "/../" are disabled in "Destination" request header
- line.
-
- *) Change: now $host variable value is always low case.
-
- *) Feature: the $ssl_session_id variable.
-
- *) Bugfix: socket leak; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.16 22 Sep 2009
-
- *) Feature: the "image_filter_transparency" directive.
-
- *) Bugfix: "addition_types" directive was incorrectly named
- "addtion_types".
-
- *) Bugfix: resolver cache poisoning.
- Thanks to Matthew Dempsky.
-
- *) Bugfix: memory leak in resolver.
- Thanks to Matthew Dempsky.
-
- *) Bugfix: invalid request line in $request variable was written in
- access_log only if error_log was set to "info" or "debug" level.
-
- *) Bugfix: in PNG alpha-channel support in the
- ngx_http_image_filter_module.
-
- *) Bugfix: nginx always added "Vary: Accept-Encoding" response header
- line, if both "gzip_static" and "gzip_vary" were on.
-
- *) Bugfix: in UTF-8 encoding support by "try_files" directive in
- nginx/Windows.
-
- *) Bugfix: in "post_action" directive usage; the bug had appeared in
- 0.8.11.
- Thanks to Igor Artemiev.
-
-
-Changes with nginx 0.8.15 14 Sep 2009
-
- *) Security: a segmentation fault might occur in worker process while
- specially crafted request handling.
- Thanks to Chris Ries.
-
- *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld
- were defined, then the name .sub.domain.tld was matched by
- .domain.tld.
-
- *) Bugfix: in transparency support in the ngx_http_image_filter_module.
-
- *) Bugfix: in file AIO.
-
- *) Bugfix: in X-Accel-Redirect usage; the bug had appeared in 0.8.11.
-
- *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.14 07 Sep 2009
-
- *) Bugfix: an expired cached response might stick in the "UPDATING"
- state.
-
- *) Bugfix: a segmentation fault might occur in worker process, if
- error_log was set to info or debug level.
- Thanks to Sergey Bochenkov.
-
- *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11.
-
- *) Bugfix: an "error_page" directive did not redirect a 413 error; the
- bug had appeared in 0.6.10.
-
-
-Changes with nginx 0.8.13 31 Aug 2009
-
- *) Bugfix: in the "aio sendfile" directive; the bug had appeared in
- 0.8.12.
-
- *) Bugfix: nginx could not be built without the --with-file-aio option
- on FreeBSD; the bug had appeared in 0.8.12.
-
-
-Changes with nginx 0.8.12 31 Aug 2009
-
- *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD.
-
- *) Bugfix: in try_files; the bug had appeared in 0.8.11.
-
- *) Bugfix: in memcached; the bug had appeared in 0.8.11.
-
-
-Changes with nginx 0.8.11 28 Aug 2009
-
- *) Change: now directive "gzip_disable msie6" does not disable gzipping
- for MSIE 6.0 SV1.
-
- *) Feature: file AIO support on FreeBSD and Linux.
-
- *) Feature: the "directio_alignment" directive.
-
-
-Changes with nginx 0.8.10 24 Aug 2009
-
- *) Bugfix: memory leaks if GeoIP City database was used.
-
- *) Bugfix: in copying temporary files to permanent storage area; the bug
- had appeared in 0.8.9.
-
-
-Changes with nginx 0.8.9 17 Aug 2009
-
- *) Feature: now the start cache loader runs in a separate process; this
- should improve large caches handling.
-
- *) Feature: now temporary files and permanent storage area may reside at
- different file systems.
-
-
-Changes with nginx 0.8.8 10 Aug 2009
-
- *) Bugfix: in handling FastCGI headers split in records.
-
- *) Bugfix: a segmentation fault occurred in worker process, if a request
- was handled in two proxied or FastCGIed locations and a caching was
- enabled in the first location; the bug had appeared in 0.8.7.
-
-
-Changes with nginx 0.8.7 27 Jul 2009
-
- *) Change: minimum supported OpenSSL version is 0.9.7.
-
- *) Change: the "ask" parameter of the "ssl_verify_client" directive was
- changed to the "optional" parameter and now it checks a client
- certificate if it was offered.
- Thanks to Brice Figureau.
-
- *) Feature: the $ssl_client_verify variable.
- Thanks to Brice Figureau.
-
- *) Feature: the "ssl_crl" directive.
- Thanks to Brice Figureau.
-
- *) Feature: the "proxy" parameter of the "geo" directive.
-
- *) Feature: the "image_filter" directive supports variables for setting
- size.
-
- *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug
- had appeared in 0.7.7.
- Thanks to Sergey Zhuravlev.
-
- *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did
- not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate",
- "X-Accel-Buffering", and "X-Accel-Charset" lines from backend
- response header.
- Thanks to Maxim Dounin.
-
- *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend
- response header lines; the bug had appeared in 0.7.44.
- Thanks to Maxim Dounin.
-
- *) Bugfix: the "[alert] zero size buf" error if subrequest returns an
- empty response; the bug had appeared in 0.8.5.
-
-
-Changes with nginx 0.8.6 20 Jul 2009
-
- *) Feature: the ngx_http_geoip_module.
-
- *) Bugfix: XSLT filter may fail with message "not well formed XML
- document" for valid XML document.
- Thanks to Kuramoto Eiji.
-
- *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a
- regular expression are always tested in case insensitive mode.
-
- *) Bugfix: now nginx/Windows ignores trailing dots in URI.
- Thanks to Hugo Leisink.
-
- *) Bugfix: name of file specified in --conf-path was not honored during
- installation; the bug had appeared in 0.6.6.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.8.5 13 Jul 2009
-
- *) Bugfix: now nginx allows underscores in a request method.
-
- *) Bugfix: a 500 error code was returned for invalid login/password
- while HTTP Basic authentication on Windows.
-
- *) Bugfix: ngx_http_perl_module responses did not work in subrequests.
-
- *) Bugfix: in ngx_http_limit_req_module.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.8.4 22 Jun 2009
-
- *) Bugfix: nginx could not be built --without-http-cache; the bug had
- appeared in 0.8.3.
-
-
-Changes with nginx 0.8.3 19 Jun 2009
-
- *) Feature: the $upstream_cache_status variable.
-
- *) Bugfix: nginx could not be built on MacOSX 10.6.
-
- *) Bugfix: nginx could not be built --without-http-cache; the bug had
- appeared in 0.8.2.
-
- *) Bugfix: a segmentation fault occurred in worker process, if a backend
- 401 error was intercepted and the backend did not set the
- "WWW-Authenticate" response header line.
- Thanks to Eugene Mychlo.
-
-
-Changes with nginx 0.8.2 15 Jun 2009
-
- *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on
- start up.
-
- *) Bugfix: open_file_cache might cache open file descriptors too long;
- the bug had appeared in 0.7.4.
-
-
-Changes with nginx 0.8.1 08 Jun 2009
-
- *) Feature: the "updating" parameter in "proxy_cache_use_stale" and
- "fastcgi_cache_use_stale" directives.
-
- *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
- header lines were passed to backend while caching if no
- "proxy_set_header" directive was used with any parameters.
-
- *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not
- hidden while caching if no "proxy_hide_header/fastcgi_hide_header"
- directives were used with any parameters.
-
- *) Bugfix: the ngx_http_image_filter_module did not support GIF87a
- format.
- Thanks to Denis Ilyinyh.
-
- *) Bugfix: nginx could not be built modules on Solaris 10 and early; the
- bug had appeared in 0.7.56.
-
-
-Changes with nginx 0.8.0 02 Jun 2009
-
- *) Feature: the "keepalive_requests" directive.
-
- *) Feature: the "limit_rate_after" directive.
- Thanks to Ivan Debnar.
-
- *) Bugfix: XLST filter did not work in subrequests.
-
- *) Bugfix: in relative paths handling in nginx/Windows.
-
- *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache
- in nginx/Windows.
-
- *) Bugfix: in memory allocation error handling.
- Thanks to Maxim Dounin and Kirill A. Korinskiy.
-
-
-Changes with nginx 0.7.59 25 May 2009
-
- *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods"
- directives.
-
- *) Bugfix: socket leak; the bug had appeared in 0.7.25.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a segmentation fault occurred in worker process, if a request
- had no body and the $request_body variable was used;
- the bug had appeared in 0.7.58.
-
- *) Bugfix: the SSL modules might not built on Solaris and Linux;
- the bug had appeared in 0.7.56.
-
- *) Bugfix: ngx_http_xslt_filter_module responses were not handled by
- SSI, charset, and gzip filters.
-
- *) Bugfix: a "charset" directive did not set a charset to
- ngx_http_gzip_static_module responses.
-
-
-Changes with nginx 0.7.58 18 May 2009
-
- *) Feature: a "listen" directive of the mail proxy module supports IPv6.
-
- *) Feature: the "image_filter_jpeg_quality" directive.
-
- *) Feature: the "client_body_in_single_buffer" directive.
-
- *) Feature: the $request_body variable.
-
- *) Bugfix: in ngx_http_autoindex_module in file name links having a ":"
- symbol in the name.
-
- *) Bugfix: "make upgrade" procedure did not work; the bug had appeared
- in 0.7.53.
- Thanks to Denis F. Latypoff.
-
-
-Changes with nginx 0.7.57 12 May 2009
-
- *) Bugfix: a floating-point fault occurred in worker process, if the
- ngx_http_image_filter_module errors were redirected to named
- location; the bug had appeared in 0.7.56.
-
-
-Changes with nginx 0.7.56 11 May 2009
-
- *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the
- HTTP module.
-
- *) Bugfix: in ngx_http_image_filter_module.
-
-
-Changes with nginx 0.7.55 06 May 2009
-
- *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and
- "fastcgi_cache_use_stale" directives did not work.
-
- *) Bugfix: fastcgi cache did not cache header only responses.
-
- *) Bugfix: of "select() failed (9: Bad file descriptor)" error in
- nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows.
-
- *) Bugfix: a segmentation fault might occur in worker process, if an
- "debug_connection" directive was used; the bug had appeared in
- 0.7.54.
-
- *) Bugfix: fix ngx_http_image_filter_module building errors.
-
- *) Bugfix: the files bigger than 2G could not be transferred using
- $r->sendfile.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.7.54 01 May 2009
-
- *) Feature: the ngx_http_image_filter_module.
-
- *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers"
- directives.
-
- *) Bugfix: a segmentation fault might occur in worker process, if an
- "open_file_cache_errors off" directive was used; the bug had appeared
- in 0.7.53.
-
- *) Bugfix: the "port_in_redirect off" directive did not work; the bug
- had appeared in 0.7.39.
-
- *) Bugfix: improve handling of "select" method errors.
-
- *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows.
-
- *) Bugfix: in error text descriptions in nginx/Windows; the bug had
- appeared in 0.7.53.
-
-
-Changes with nginx 0.7.53 27 Apr 2009
-
- *) Change: now a log set by --error-log-path is created from the very
- start-up.
-
- *) Feature: now the start up errors and warnings are outputted to an
- error_log and stderr.
-
- *) Feature: the empty --prefix= configure parameter forces nginx to use
- a directory where it was run as prefix.
-
- *) Feature: the -p switch.
-
- *) Feature: the -s switch on Unix platforms.
-
- *) Feature: the -? and -h switches.
- Thanks to Jerome Loyet.
-
- *) Feature: now switches may be set in condensed form.
-
- *) Bugfix: nginx/Windows did not work if configuration file was given by
- the -c switch.
-
- *) Bugfix: temporary files might be not removed if the "proxy_store",
- "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used.
- Thanks to Maxim Dounin.
-
- *) Bugfix: an incorrect value was passed to mail proxy authentication
- server in "Auth-Method" header line; the bug had appeared
- in 0.7.34.
- Thanks to Simon Lecaille.
-
- *) Bugfix: system error text descriptions were not logged on Linux;
- the bug had appeared in 0.7.45.
-
- *) Bugfix: the "fastcgi_cache_min_uses" directive did not work.
- Thanks to Andrew Vorobyoff.
-
-
-Changes with nginx 0.7.52 20 Apr 2009
-
- *) Feature: the first native Windows binary release.
-
- *) Bugfix: in processing HEAD method while caching.
-
- *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc.
- client request header lines while caching.
-
- *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in
- cacheable responses.
-
- *) Bugfix: if nginx was built with the ngx_http_perl_module and with a
- perl which supports threads, then during a master process exit the
- message "panic: MUTEX_LOCK" might be issued.
-
- *) Bugfix: nginx could not be built --without-http-cache; the bug had
- appeared in 0.7.48.
-
- *) Bugfix: nginx could not be built on platforms different from i386,
- amd64, sparc, and ppc; the bug had appeared in 0.7.42.
-
-
-Changes with nginx 0.7.51 12 Apr 2009
-
- *) Feature: the "try_files" directive supports a response code in the
- fallback parameter.
-
- *) Feature: now any response code can be used in the "return" directive.
-
- *) Bugfix: the "error_page" directive made an external redirect without
- query string; the bug had appeared in 0.7.44.
-
- *) Bugfix: if servers listened on several defined explicitly addresses,
- then virtual servers might not work; the bug had appeared in 0.7.39.
-
-
-Changes with nginx 0.7.50 06 Apr 2009
-
- *) Bugfix: the $arg_... variables did not work; the bug had appeared in
- 0.7.49.
-
-
-Changes with nginx 0.7.49 06 Apr 2009
-
- *) Bugfix: a segmentation fault might occur in worker process, if the
- $arg_... variables were used; the bug had appeared in 0.7.48.
-
-
-Changes with nginx 0.7.48 06 Apr 2009
-
- *) Feature: the "proxy_cache_key" directive.
-
- *) Bugfix: now nginx takes into account the "X-Accel-Expires",
- "Expires", and "Cache-Control" header lines in a backend response.
-
- *) Bugfix: now nginx caches responses for the GET requests only.
-
- *) Bugfix: the "fastcgi_cache_key" directive was not inherited.
-
- *) Bugfix: the $arg_... variables did not work with SSI subrequests.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx could not be built with uclibc library.
- Thanks to Timothy Redaelli.
-
- *) Bugfix: nginx could not be built on OpenBSD; the bug had
- appeared in 0.7.46.
-
-
-Changes with nginx 0.7.47 01 Apr 2009
-
- *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the
- bug had appeared in 0.7.46.
-
- *) Bugfix: nginx could not be built on MacOSX; the bug had
- appeared in 0.7.46.
-
- *) Bugfix: if the "max_size" parameter was set, then the cache manager
- might purge a whole cache; the bug had appeared in 0.7.46.
-
- *) Change: a segmentation fault might occur in worker process, if the
- "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/
- "fastcgi_cache_valid" were set on different levels; the bug had
- appeared in 0.7.46.
-
- *) Bugfix: a segmentation fault might occur in worker process, if a
- request was redirected to a proxied or FastCGI server via error_page
- or try_files; the bug had appeared in 0.7.44.
-
-
-Changes with nginx 0.7.46 30 Mar 2009
-
- *) Bugfix: the previous release tarball was incorrect.
-
-
-Changes with nginx 0.7.45 30 Mar 2009
-
- *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives
- can be set on different levels.
-
- *) Change: the "clean_time" parameter of the "proxy_cache_path"
- directive is canceled.
-
- *) Feature: the "max_size" parameter of the "proxy_cache_path"
- directive.
-
- *) Feature: the ngx_http_fastcgi_module preliminary cache support.
-
- *) Feature: now on shared memory allocation errors directive and zone
- names are logged.
-
- *) Bugfix: the directive "add_header last-modified ''" did not delete a
- "Last-Modified" response header line; the bug had appeared in 0.7.44.
-
- *) Bugfix: a relative path in the "auth_basic_user_file" directive given
- without variables did not work; the bug had appeared in 0.7.44.
- Thanks to Jerome Loyet.
-
- *) Bugfix: in an "alias" directive given using variables without
- references to captures of regular expressions; the bug had appeared
- in 0.7.42.
-
-
-Changes with nginx 0.7.44 23 Mar 2009
-
- *) Feature: the ngx_http_proxy_module preliminary cache support.
-
- *) Feature: the --with-pcre option in the configure.
-
- *) Feature: the "try_files" directive is now allowed on the server block
- level.
-
- *) Bugfix: the "try_files" directive handled incorrectly a query string
- in a fallback parameter.
-
- *) Bugfix: the "try_files" directive might test incorrectly directories.
-
- *) Bugfix: if there was a single server for given address:port pair,
- then captures in regular expressions in a "server_name" directive did
- not work.
-
-
-Changes with nginx 0.7.43 18 Mar 2009
-
- *) Bugfix: a request was handled incorrectly, if a "root" directive used
- variables; the bug had appeared in 0.7.42.
-
- *) Bugfix: if a server listened on wildcard address, then the
- $server_addr variable value was "0.0.0.0"; the bug had appeared in
- 0.7.36.
-
-
-Changes with nginx 0.7.42 16 Mar 2009
-
- *) Change: now the "Invalid argument" error returned by
- setsockopt(TCP_NODELAY) on Solaris, is ignored.
-
- *) Change: now if a file specified in a "auth_basic_user_file" directive
- is absent, then the 403 error is returned instead of the 500 one.
-
- *) Feature: the "auth_basic_user_file" directive supports variables.
- Thanks to Kirill A. Korinskiy.
-
- *) Feature: the "listen" directive supports the "ipv6only" parameter.
- Thanks to Zhang Hua.
-
- *) Bugfix: in an "alias" directive with references to captures of
- regular expressions; the bug had appeared in 0.7.40.
-
- *) Bugfix: compatibility with Tru64 UNIX.
- Thanks to Dustin Marquess.
-
- *) Bugfix: nginx could not be built without PCRE library; the bug had
- appeared in 0.7.41.
-
-
-Changes with nginx 0.7.41 11 Mar 2009
-
- *) Bugfix: a segmentation fault might occur in worker process, if a
- "server_name" or a "location" directives had captures in regular
- expressions; the issue had appeared in 0.7.40.
- Thanks to Vladimir Sopot.
-
-
-Changes with nginx 0.7.40 09 Mar 2009
-
- *) Feature: the "location" directive supports captures in regular
- expressions.
-
- *) Feature: an "alias" directive with capture references may be used
- inside a location given by a regular expression with captures.
-
- *) Feature: the "server_name" directive supports captures in regular
- expressions.
-
- *) Workaround: the ngx_http_autoindex_module did not show the trailing
- slash in directories on XFS filesystem; the issue had appeared in
- 0.7.15.
- Thanks to Dmitry Kuzmenko.
-
-
-Changes with nginx 0.7.39 02 Mar 2009
-
- *) Bugfix: large response with SSI might hang, if gzipping was enabled;
- the bug had appeared in 0.7.28.
- Thanks to Artem Bokhan.
-
- *) Bugfix: a segmentation fault might occur in worker process, if short
- static variants are used in a "try_files" directive.
-
-
-Changes with nginx 0.7.38 23 Feb 2009
-
- *) Feature: authentication failures logging.
-
- *) Bugfix: name/password in auth_basic_user_file were ignored after odd
- number of empty lines.
- Thanks to Alexander Zagrebin.
-
- *) Bugfix: a segmentation fault occurred in a master process, if long
- path was used in unix domain socket; the bug had appeared in 0.7.36.
-
-
-Changes with nginx 0.7.37 21 Feb 2009
-
- *) Bugfix: directives using upstreams did not work; the bug had appeared
- in 0.7.36.
-
-
-Changes with nginx 0.7.36 21 Feb 2009
-
- *) Feature: a preliminary IPv6 support; the "listen" directive of the
- HTTP module supports IPv6.
-
- *) Bugfix: the $ancient_browser variable did not work for browsers
- preset by a "modern_browser" directives.
-
-
-Changes with nginx 0.7.35 16 Feb 2009
-
- *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
- asymmetric ciphers.
- Thanks to Marcin Gozdalik.
-
- *) Bugfix: a "try_files" directive set MIME type depending on an
- original request extension.
-
- *) Bugfix: "*domain.tld" names were handled incorrectly in
- "server_name", "valid_referers", and "map" directives, if
- ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
- the bug had appeared in 0.7.9.
-
-
-Changes with nginx 0.7.34 10 Feb 2009
-
- *) Feature: the "off" parameter of the "if_modified_since" directive.
-
- *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT
- command.
- Thanks to Maxim Dounin.
-
- *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support
- in mail proxy server.
- Thanks to Maxim Dounin.
-
- *) Bugfix: in a redirect rewrite directive original arguments were
- concatenated with new arguments by a "?" rather than an "&";
- the bug had appeared in 0.1.18.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx could not be built on AIX.
-
-
-Changes with nginx 0.7.33 02 Feb 2009
-
- *) Bugfix: a double response might be returned if the epoll or rtsig
- methods are used and a redirect was returned to a request with body.
- Thanks to Eden Li.
-
- *) Bugfix: the $sent_http_location variable was empty for some redirects
- types.
-
- *) Bugfix: a segmentation fault might occur in worker process if
- "resolver" directive was used in SMTP proxy.
-
-
-Changes with nginx 0.7.32 26 Jan 2009
-
- *) Feature: now a directory existence testing can be set explicitly in
- the "try_files" directive.
-
- *) Bugfix: fastcgi_store stored files not always.
-
- *) Bugfix: in geo ranges.
-
- *) Bugfix: in shared memory allocations if nginx was built without
- debugging.
- Thanks to Andrey Kvasov.
-
-
-Changes with nginx 0.7.31 19 Jan 2009
-
- *) Change: now the "try_files" directive tests files only and ignores
- directories.
-
- *) Feature: the "fastcgi_split_path_info" directive.
-
- *) Bugfixes in an "Expect" request header line support.
-
- *) Bugfixes in geo ranges.
-
- *) Bugfix: in a miss case ngx_http_memcached_module returned the "END"
- line as response body instead of default 404 page body; the bug had
- appeared in 0.7.18.
- Thanks to Maxim Dounin.
-
- *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK"
- instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.7.30 24 Dec 2008
-
- *) Bugfix: a segmentation fault occurred in worker process, if variables
- were used in the "fastcgi_pass" or "proxy_pass" directives and host
- name must be resolved; the bug had appeared in 0.7.29.
-
-
-Changes with nginx 0.7.29 24 Dec 2008
-
- *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not
- support variables if unix domain sockets were used.
-
- *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25.
-
- *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests;
- Thanks to Maxim Dounin.
-
- *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on
- Cygwin.
-
-
-Changes with nginx 0.7.28 22 Dec 2008
-
- *) Change: in memory allocation in the ngx_http_gzip_filter_module.
-
- *) Change: the default "gzip_buffers" directive values have been changed
- to 32 4k or 16 8k from 4 4k/8k.
-
-
-Changes with nginx 0.7.27 15 Dec 2008
-
- *) Feature: the "try_files" directive.
-
- *) Feature: variables support in the "fastcgi_pass" directive.
-
- *) Feature: now the $geo variable may get an address from a variable.
- Thanks to Andrei Nigmatulin.
-
- *) Feature: now a location's modifier may be used without space before
- name.
-
- *) Feature: the $upstream_response_length variable.
-
- *) Bugfix: now a "add_header" directive does not add an empty value.
-
- *) Bugfix: if zero length static file was requested, then nginx just
- closed connection; the bug had appeared in 0.7.25.
-
- *) Bugfix: a MOVE method could not move file in non-existent directory.
-
- *) Bugfix: a segmentation fault occurred in worker process, if no one
- named location was defined in server, but some one was used in an
- error_page directive.
- Thanks to Sergey Bochenkov.
-
-
-Changes with nginx 0.7.26 08 Dec 2008
-
- *) Bugfix: in subrequest processing; the bug had appeared in 0.7.25.
-
-
-Changes with nginx 0.7.25 08 Dec 2008
-
- *) Change: in subrequest processing.
-
- *) Change: now POSTs without "Content-Length" header line are allowed.
-
- *) Bugfix: now the "limit_req" and "limit_conn" directives log a
- prohibition reason.
-
- *) Bugfix: in the "delete" parameter of the "geo" directive.
-
-
-Changes with nginx 0.7.24 01 Dec 2008
-
- *) Feature: the "if_modified_since" directive.
-
- *) Bugfix: nginx did not process a FastCGI server response, if the
- server send too many messages to stderr before response.
-
- *) Bugfix: the "$cookie_..." variables did not work in the SSI and the
- perl module.
-
-
-Changes with nginx 0.7.23 27 Nov 2008
-
- *) Feature: the "delete" and "ranges" parameters in the "geo" directive.
-
- *) Feature: speeding up loading of geo base with large number of values.
-
- *) Feature: decrease of memory required for geo base load.
-
-
-Changes with nginx 0.7.22 20 Nov 2008
-
- *) Feature: the "none" parameter in the "smtp_auth" directive.
- Thanks to Maxim Dounin.
-
- *) Feature: the "$cookie_..." variables.
-
- *) Bugfix: the "directio" directive did not work in XFS filesystem.
-
- *) Bugfix: the resolver did not understand big DNS responses.
- Thanks to Zyb.
-
-
-Changes with nginx 0.7.21 11 Nov 2008
-
- *) Changes in the ngx_http_limit_req_module.
-
- *) Feature: the EXSLT support in the ngx_http_xslt_module.
- Thanks to Denis F. Latypoff.
-
- *) Workaround: compatibility with glibc 2.3.
- Thanks to Eric Benson and Maxim Dounin.
-
- *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had
- appeared in 0.7.6.
-
-
-Changes with nginx 0.7.20 10 Nov 2008
-
- *) Changes in the ngx_http_gzip_filter_module.
-
- *) Feature: the ngx_http_limit_req_module.
-
- *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and
- ppc platforms; the bug had appeared in 0.7.3.
- Thanks to Maxim Dounin.
-
- *) Bugfix: the "proxy_pass http://host/some:uri" directives did not
- work; the bug had appeared in 0.7.12.
-
- *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
- error.
-
- *) Bugfix: the ngx_http_secure_link_module did not work inside
- locations, whose names are less than 3 characters.
-
- *) Bugfix: $server_addr variable might have no value.
-
-
-Changes with nginx 0.7.19 13 Oct 2008
-
- *) Bugfix: version number update.
-
-
-Changes with nginx 0.7.18 13 Oct 2008
-
- *) Change: the "underscores_in_headers" directive; now nginx does not
- allows underscores in a client request header line names.
-
- *) Feature: the ngx_http_secure_link_module.
-
- *) Feature: the "real_ip_header" directive supports any header.
-
- *) Feature: the "log_subrequest" directive.
-
- *) Feature: the $realpath_root variable.
-
- *) Feature: the "http_502" and "http_504" parameters of the
- "proxy_next_upstream" directive.
-
- *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or
- "fastcgi_next_upstream" directives did not work.
-
- *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line
- for HEAD requests.
-
- *) Bugfix: now accept threshold depends on worker_connections.
-
-
-Changes with nginx 0.7.17 15 Sep 2008
-
- *) Feature: now the "directio" directive works on Linux.
-
- *) Feature: the $pid variable.
-
- *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did
- not work with open_file_cache.
-
- *) Bugfix: the "access_log" with variables did not work on Linux; the
- bug had appeared in 0.7.7.
-
- *) Bugfix: the ngx_http_charset_module did not understand quoted charset
- name received from backend.
-
-
-Changes with nginx 0.7.16 08 Sep 2008
-
- *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
- appeared in 0.7.15.
-
-
-Changes with nginx 0.7.15 08 Sep 2008
-
- *) Feature: the ngx_http_random_index_module.
-
- *) Feature: the "directio" directive has been optimized for file
- requests starting from arbitrary position.
-
- *) Feature: the "directio" directive turns off sendfile if it is
- necessary.
-
- *) Feature: now nginx allows underscores in a client request header line
- names.
-
-
-Changes with nginx 0.7.14 01 Sep 2008
-
- *) Change: now the ssl_certificate and ssl_certificate_key directives
- have no default values.
-
- *) Feature: the "listen" directive supports the "ssl" parameter.
-
- *) Feature: now nginx takes into account a time zone change while
- reconfiguration on FreeBSD and Linux.
-
- *) Bugfix: the "listen" directive parameters such as "backlog",
- "rcvbuf", etc. were not set, if a default server was not the first
- one.
-
- *) Bugfix: if URI part captured by a "rewrite" directive was used as a
- query string, then the query string was not escaped.
-
- *) Bugfix: configuration file validity test improvements.
-
-
-Changes with nginx 0.7.13 26 Aug 2008
-
- *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
- appeared in 0.7.12.
-
-
-Changes with nginx 0.7.12 26 Aug 2008
-
- *) Feature: the "server_name" directive supports empty name "".
-
- *) Feature: the "gzip_disable" directive supports special "msie6" mask.
-
- *) Bugfix: if the "max_fails=0" parameter was used in upstream with
- several servers, then a worker process exited on a SIGFPE signal.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a request body was dropped while redirection via an
- "error_page" directive.
-
- *) Bugfix: a full response was returned for request method HEAD while
- redirection via an "error_page" directive.
-
- *) Bugfix: the $r->header_in() method did not return value of the
- "Host", "User-Agent", and "Connection" request header lines; the bug
- had appeared in 0.7.0.
-
-
-Changes with nginx 0.7.11 18 Aug 2008
-
- *) Change: now ngx_http_charset_module does not work by default with
- text/css MIME type.
-
- *) Feature: now nginx returns the 405 status code for POST method
- requesting a static file only if the file exists.
-
- *) Feature: the "proxy_ssl_session_reuse" directive.
-
- *) Bugfix: a "proxy_pass" directive without URI part might use original
- request after the "X-Accel-Redirect" redirection was used.
-
- *) Bugfix: if a directory has search only rights and the first index
- file was absent, then nginx returned the 500 status code.
-
- *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1.
-
-
-Changes with nginx 0.7.10 13 Aug 2008
-
- *) Bugfix: in the "addition_types", "charset_types", "gzip_types",
- "ssi_types", "sub_filter_types", and "xslt_types" directives; the
- bugs had appeared in 0.7.9.
-
- *) Bugfix: of recursive error_page for 500 status code.
-
- *) Bugfix: now the ngx_http_realip_module sets address not for whole
- keepalive connection, but for each request passed via the connection.
-
-
-Changes with nginx 0.7.9 12 Aug 2008
-
- *) Change: now ngx_http_charset_module works by default with following
- MIME types: text/html, text/css, text/xml, text/plain,
- text/vnd.wap.wml, application/x-javascript, and application/rss+xml.
-
- *) Feature: the "charset_types" and "addition_types" directives.
-
- *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types"
- directives use hash.
-
- *) Feature: the ngx_cpp_test_module.
-
- *) Feature: the "expires" directive supports daily time.
-
- *) Feature: the ngx_http_xslt_module improvements and bug fixing.
- Thanks to Denis F. Latypoff and Maxim Dounin.
-
- *) Bugfix: the "log_not_found" directive did not work for index files
- tests.
-
- *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or
- eventport methods were used; the bug had appeared in 0.7.7.
-
- *) Bugfix: if the "server_name", "valid_referers", and "map" directives
- used an "*.domain.tld" wildcard and exact name "domain.tld" was not
- set, then the exact name was matched by the wildcard; the bug had
- appeared in 0.3.18.
-
-
-Changes with nginx 0.7.8 04 Aug 2008
-
- *) Feature: the ngx_http_xslt_module.
-
- *) Feature: the "$arg_..." variables.
-
- *) Feature: Solaris directio support.
- Thanks to Ivan Debnar.
-
- *) Bugfix: now if FastCGI server sends a "Location" header line without
- status line, then nginx uses 302 status code.
- Thanks to Maxim Dounin.
-
-
-Changes with nginx 0.7.7 30 Jul 2008
-
- *) Change: now the EAGAIN error returned by connect() is not considered
- as temporary error.
-
- *) Change: now the $ssl_client_cert variable value is a certificate with
- TAB character intended before each line except first one; an
- unchanged certificate is available in the $ssl_client_raw_cert
- variable.
-
- *) Feature: the "ask" parameter in the "ssl_verify_client" directive.
-
- *) Feature: byte-range processing improvements.
- Thanks to Maxim Dounin.
-
- *) Feature: the "directio" directive.
- Thanks to Jiang Hong.
-
- *) Feature: MacOSX 10.5 sendfile() support.
-
- *) Bugfix: now in MacOSX and Cygwin locations are tested in case
- insensitive mode; however, the compare is provided by single-byte
- locales only.
-
- *) Bugfix: mail proxy SSL connections hanged, if select, poll, or
- /dev/poll methods were used.
-
- *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
-
-
-Changes with nginx 0.7.6 07 Jul 2008
-
- *) Bugfix: now if variables are used in the "access_log" directive a
- request root existence is always tested.
-
- *) Bugfix: the ngx_http_flv_module did not support several values in a
- query string.
-
-
-Changes with nginx 0.7.5 01 Jul 2008
-
- *) Bugfixes in variables support in the "access_log" directive; the bugs
- had appeared in 0.7.4.
-
- *) Bugfix: nginx could not be built --without-http_gzip_module; the bug
- had appeared in 0.7.3.
- Thanks to Kirill A. Korinskiy.
-
- *) Bugfix: if sub_filter and SSI were used together, then responses
- might were transferred incorrectly.
-
-
-Changes with nginx 0.7.4 30 Jun 2008
-
- *) Feature: variables support in the "access_log" directive.
-
- *) Feature: the "open_log_file_cache" directive.
-
- *) Feature: the -g switch.
-
- *) Feature: the "Expect" request header line support.
-
- *) Bugfix: large SSI inclusions might be truncated.
-
-
-Changes with nginx 0.7.3 23 Jun 2008
-
- *) Change: the "rss" extension MIME type has been changed to
- "application/rss+xml".
-
- *) Change: now the "gzip_vary" directive turned on issues a
- "Vary: Accept-Encoding" header line for uncompressed responses too.
-
- *) Feature: now the "rewrite" directive does a redirect automatically if
- the "https://" protocol is used.
-
- *) Bugfix: the "proxy_pass" directive did not work with the HTTPS
- protocol; the bug had appeared in 0.6.9.
-
-
-Changes with nginx 0.7.2 16 Jun 2008
-
- *) Feature: now nginx supports EDH key exchange ciphers.
-
- *) Feature: the "ssl_dhparam" directive.
-
- *) Feature: the $ssl_client_cert variable.
- Thanks to Manlio Perillo.
-
- *) Bugfix: after changing URI via a "rewrite" directive nginx did not
- search a new location; the bug had appeared in 0.7.1.
- Thanks to Maxim Dounin.
-
- *) Bugfix: nginx could not be built without PCRE library; the bug had
- appeared in 0.7.1.
-
- *) Bugfix: when a request to a directory was redirected with the slash
- added, nginx dropped a query string from the original request.
-
-
-Changes with nginx 0.7.1 26 May 2008
-
- *) Change: now locations are searched in a tree.
-
- *) Change: the "optimize_server_names" directive was canceled due to the
- "server_name_in_redirect" directive introduction.
-
- *) Change: some long deprecated directives are not supported anymore.
-
- *) Change: the "none" parameter in the "ssl_session_cache" directive;
- now this is default parameter.
- Thanks to Rob Mueller.
-
- *) Bugfix: worker processes might not catch reconfiguration and log
- rotation signals.
-
- *) Bugfix: nginx could not be built on latest Fedora 9 Linux.
- Thanks to Roxis.
-
-
-Changes with nginx 0.7.0 19 May 2008
-
- *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX
- in an access_log.
- Thanks to Maxim Dounin.
-
- *) Change: now nginx allows several "Host" request header line.
-
- *) Feature: the "modified" flag in the "expires" directive.
-
- *) Feature: the $uid_got and $uid_set variables may be used at any
- request processing stage.
-
- *) Feature: the $hostname variable.
- Thanks to Andrei Nigmatulin.
-
- *) Feature: DESTDIR support.
- Thanks to Todd A. Fisher and Andras Voroskoi.
-
- *) Bugfix: a segmentation fault might occur in worker process on Linux,
- if keepalive was enabled.
-
-
-Changes with nginx 0.6.31 12 May 2008
-
- *) Bugfix: nginx did not process FastCGI response if header was at the
- end of FastCGI record; the bug had appeared in 0.6.2.
- Thanks to Sergey Serov.
-
- *) Bugfix: a segmentation fault might occur in worker process if a file
- was deleted and the "open_file_cache_errors" directive was off.
-
-
-Changes with nginx 0.6.30 29 Apr 2008
-
- *) Change: now if an "include" directive pattern does not match any
- file, then nginx does not issue an error.
-
- *) Feature: now the time in directives may be specified without spaces,
- for example, "1h50m".
-
- *) Bugfix: memory leaks if the "ssl_verify_client" directive was on.
- Thanks to Chavelle Vincent.
-
- *) Bugfix: the "sub_filter" directive might set text to change into
- output.
-
- *) Bugfix: the "error_page" directive did not take into account
- arguments in redirected URI.
-
- *) Bugfix: now nginx always opens files in binary mode under Cygwin.
-
- *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in
- 0.6.15.
-
-
-Changes with nginx 0.6.29 18 Mar 2008
-
- *) Feature: the ngx_google_perftools_module.
-
- *) Bugfix: the ngx_http_perl_module could not be built on 64-bit
- platforms; the bug had appeared in 0.6.27.
-
-
-Changes with nginx 0.6.28 13 Mar 2008
-
- *) Bugfix: the rtsig method could not be built; the bug had appeared in
- 0.6.27.
-
-
-Changes with nginx 0.6.27 12 Mar 2008
-
- *) Change: now by default the rtsig method is not built on
- Linux 2.6.18+.
-
- *) Change: now a request method is not changed while redirection to a
- named location via an "error_page" directive.
-
- *) Feature: the "resolver" and "resolver_timeout" directives in SMTP
- proxy.
-
- *) Feature: the "post_action" directive supports named locations.
-
- *) Bugfix: a segmentation fault occurred in worker process, if a request
- was redirected from proxy, FastCGI, or memcached location to static
- named locations.
-
- *) Bugfix: browsers did not repeat SSL handshake if there is no valid
- client certificate in first handshake.
- Thanks to Alexander V. Inyukhin.
-
- *) Bugfix: if response code 495-497 was redirected via an "error_page"
- directive without code change, then nginx tried to allocate too many
- memory.
-
- *) Bugfix: memory leak in long-lived non buffered connections.
-
- *) Bugfix: memory leak in resolver.
-
- *) Bugfix: a segmentation fault occurred in worker process, if a request
- was redirected from proxy, FastCGI, or memcached location to static
- named locations.
-
- *) Bugfix: in the $proxy_host and $proxy_port variables caching.
- Thanks to Sergey Bochenkov.
-
- *) Bugfix: a "proxy_pass" directive with variables used incorrectly the
- same port as in another "proxy_pass" directive with the same host
- name and without variables.
- Thanks to Sergey Bochenkov.
-
- *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some
- 64-bit platforms while reconfiguration.
-
- *) Bugfix: a segmentation fault occurred in worker process, if empty
- stub block was used second time in SSI.
-
- *) Bugfix: in copying URI part contained escaped symbols into arguments.
-
-
-Changes with nginx 0.6.26 11 Feb 2008
-
- *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not
- check a response length.
-
- *) Bugfix: a segmentation fault occurred in worker process, if big value
- was used in a "expires" directive.
- Thanks to Joaquin Cuenca Abela.
-
- *) Bugfix: nginx incorrectly detected cache line size on Pentium 4.
- Thanks to Gena Makhomed.
-
- *) Bugfix: in proxied or FastCGI subrequests a client original method
- was used instead of the GET method.
-
- *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
- Thanks to Ben Maurer.
-
- *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed
- (SSL: )"; the bug had appeared in 0.6.23.
-
- *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
- error; the bug had appeared in 0.6.23.
-
-
-Changes with nginx 0.6.25 08 Jan 2008
-
- *) Change: now the "server_name_in_redirect" directive is used instead
- of the "server_name" directive's special "*" parameter.
-
- *) Change: now wildcard and regex names can be used as main name in a
- "server_name" directive.
-
- *) Change: the "satisfy_any" directive was replaced by the "satisfy"
- directive.
-
- *) Workaround: old worker processes might hog CPU after reconfiguration
- if they was run under Linux OpenVZ.
-
- *) Feature: the "min_delete_depth" directive.
-
- *) Bugfix: the COPY and MOVE methods did not work with single files.
-
- *) Bugfix: the ngx_http_gzip_static_module did not allow the
- ngx_http_dav_module to work; the bug had appeared in 0.6.23.
-
- *) Bugfix: socket leak in HTTPS mode if deferred accept was used.
- Thanks to Ben Maurer.
-
- *) Bugfix: nginx could not be built without PCRE library; the bug had
- appeared in 0.6.23.
-
-
-Changes with nginx 0.6.24 27 Dec 2007
-
- *) Bugfix: a segmentation fault might occur in worker process if HTTPS
- was used; the bug had appeared in 0.6.23.
-
-
-Changes with nginx 0.6.23 27 Dec 2007
-
- *) Change: the "off" parameter in the "ssl_session_cache" directive; now
- this is default parameter.
-
- *) Change: the "open_file_cache_retest" directive was renamed to the
- "open_file_cache_valid".
-
- *) Feature: the "open_file_cache_min_uses" directive.
-
- *) Feature: the ngx_http_gzip_static_module.
-
- *) Feature: the "gzip_disable" directive.
-
- *) Feature: the "memcached_pass" directive may be used inside the "if"
- block.
-
- *) Bugfix: a segmentation fault occurred in worker process, if the
- "memcached_pass" and "if" directives were used in the same location.
-
- *) Bugfix: if a "satisfy_any on" directive was used and not all access
- and auth modules directives were set, then other given access and
- auth directives were not tested;
-
- *) Bugfix: regex parameters in a "valid_referers" directive were not
- inherited from previous level.
-
- *) Bugfix: a "post_action" directive did run if a request was completed
- with 499 status code.
-
- *) Bugfix: optimization of 16K buffer usage in a SSL connection.
- Thanks to Ben Maurer.
-
- *) Bugfix: the STARTTLS in SMTP mode did not work.
- Thanks to Oleg Motienko.
-
- *) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
- error; the bug had appeared in 0.5.13.
-
-
-Changes with nginx 0.6.22 19 Dec 2007
-
- *) Change: now all ngx_http_perl_module methods return values copied to
- perl's allocated memory.
-
- *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before
- 5.8.6 was used, and perl supported threads, then during
- reconfiguration the master process aborted; the bug had appeared in
- 0.5.9.
- Thanks to Boris Zhmurov.
-
- *) Bugfix: the ngx_http_perl_module methods may get invalid values of
- the regex captures.
-
- *) Bugfix: a segmentation fault occurred in worker process, if the
- $r->has_request_body() method was called for a request whose small
- request body was already received.
-
- *) Bugfix: large_client_header_buffers did not freed before going to
- keep-alive state.
- Thanks to Olexander Shtepa.
-
- *) Bugfix: the last address was missed in the $upstream_addr variable;
- the bug had appeared in 0.6.18.
-
- *) Bugfix: the "fastcgi_catch_stderr" directive did return error code;
- now it returns 502 code, that can be rerouted to a next server using
- the "fastcgi_next_upstream invalid_header" directive.
-
- *) Bugfix: a segmentation fault occurred in master process if the
- "fastcgi_catch_stderr" directive was used; the bug had appeared in
- 0.6.10.
- Thanks to Manlio Perillo.
-
-
-Changes with nginx 0.6.21 03 Dec 2007
-
- *) Change: if variable values used in a "proxy_pass" directive contain
- IP-addresses only, then a "resolver" directive is not mandatory.
-
- *) Bugfix: a segmentation fault might occur in worker process if a
- "proxy_pass" directive with URI-part was used; the bug had appeared
- in 0.6.19.
-
- *) Bugfix: if resolver was used on platform that does not support
- kqueue, then nginx issued an alert "name is out of response".
- Thanks to Andrei Nigmatulin.
-
- *) Bugfix: if the $server_protocol was used in FastCGI parameters and a
- request line length was near to the "client_header_buffer_size"
- directive value, then nginx issued an alert "fastcgi: the request
- record is too big".
-
- *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS
- server, then nginx returned usual response.
-
-
-Changes with nginx 0.6.20 28 Nov 2007
-
- *) Bugfix: a segmentation fault might occur in worker process if a
- "proxy_pass" directive with URI-part was used; the bug had appeared
- in 0.6.19.
-
-
-Changes with nginx 0.6.19 27 Nov 2007
-
- *) Bugfix: the 0.6.18 version could not be built.
-
-
-Changes with nginx 0.6.18 27 Nov 2007
-
- *) Change: now the ngx_http_userid_module adds start time microseconds
- to the cookie field contains a pid value.
-
- *) Change: now the full request line instead of URI only is written to
- error_log.
-
- *) Feature: variables support in the "proxy_pass" directive.
-
- *) Feature: the "resolver" and "resolver_timeout" directives.
-
- *) Feature: now the directive "add_header last-modified ''" deletes a
- "Last-Modified" response header line.
-
- *) Bugfix: the "limit_rate" directive did not allow to use full
- throughput, even if limit value was very high.
-
-
-Changes with nginx 0.6.17 15 Nov 2007
-
- *) Feature: the "If-Range" request header line support.
- Thanks to Alexander V. Inyukhin.
-
- *) Bugfix: URL double escaping in a redirect of the "msie_refresh"
- directive; the bug had appeared in 0.6.4.
-
- *) Bugfix: the "autoindex" directive did not work with the "alias /"
- directive.
-
- *) Bugfix: a segmentation fault might occur in worker process if
- subrequests were used.
-
- *) Bugfix: the big responses may be transferred truncated if SSL and
- gzip were used.
-
- *) Bugfix: the $status variable was equal to 0 if a proxied server
- returned response in HTTP/0.9 version.
-
-
-Changes with nginx 0.6.16 29 Oct 2007
-
- *) Change: now the uname(2) is used on Linux instead of procfs.
- Thanks to Ilya Novikov.
-
- *) Bugfix: if the "?" character was in a "error_page" directive, then it
- was escaped in a proxied request; the bug had appeared in 0.6.11.
-
- *) Bugfix: compatibility with mget.
-
-
-Changes with nginx 0.6.15 22 Oct 2007
-
- *) Feature: Cygwin compatibility.
- Thanks to Vladimir Kutakov.
-
- *) Feature: the "merge_slashes" directive.
-
- *) Feature: the "gzip_vary" directive.
-
- *) Feature: the "server_tokens" directive.
-
- *) Bugfix: nginx did not unescape URI in the "include" SSI command.
-
- *) Bugfix: the segmentation fault was occurred on start or while
- reconfiguration if variable was used in the "charset" or
- "source_charset" directives.
-
- *) Bugfix: nginx returned the 400 response on requests like
- "GET http://www.domain.com HTTP/1.0".
- Thanks to James Oakley.
-
- *) Bugfix: if request with request body was redirected using the
- "error_page" directive, then nginx tried to read the request body
- again; the bug had appeared in 0.6.7.
-
- *) Bugfix: a segmentation fault occurred in worker process if no
- server_name was explicitly defined for server processing request; the
- bug had appeared in 0.6.7.
-
-
-Changes with nginx 0.6.14 15 Oct 2007
-
- *) Change: now by default the "echo" SSI command uses entity encoding.
-
- *) Feature: the "encoding" parameter in the "echo" SSI command.
-
- *) Feature: the "access_log" directive may be used inside the
- "limit_except" block.
-
- *) Bugfix: if all upstream servers were failed, then all servers had got
- weight the was equal one until servers became alive; the bug had
- appeared in 0.6.6.
-
- *) Bugfix: a segmentation fault occurred in worker process if
- $date_local and $date_gmt were used outside the
- ngx_http_ssi_filter_module.
-
- *) Bugfix: a segmentation fault might occur in worker process if debug
- log was enabled.
- Thanks to Andrei Nigmatulin.
-
- *) Bugfix: ngx_http_memcached_module did not set
- $upstream_response_time.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a worker process may got caught in an endless loop, if the
- memcached was used.
-
- *) Bugfix: nginx supported low case only "close" and "keep-alive" values
- in the "Connection" request header line; the bug had appeared in
- 0.6.11.
-
- *) Bugfix: sub_filter did not work with empty substitution.
-
- *) Bugfix: in sub_filter parsing.
-
-
-Changes with nginx 0.6.13 24 Sep 2007
-
- *) Bugfix: nginx did not close directory file on HEAD request if
- autoindex was used.
- Thanks to Arkadiusz Patyk.
-
-
-Changes with nginx 0.6.12 21 Sep 2007
-
- *) Change: mail proxy was split on three modules: pop3, imap and smtp.
-
- *) Feature: the --without-mail_pop3_module, --without-mail_imap_module,
- and --without-mail_smtp_module configuration parameters.
-
- *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer"
- directives of the ngx_mail_smtp_module.
-
- *) Bugfix: the trailing wildcards did not work; the bug had appeared in
- 0.6.9.
-
- *) Bugfix: nginx could not start on Solaris if the shared PCRE library
- located in non-standard place was used.
-
- *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives
- did not hide response header lines whose name was longer than 32
- characters.
- Thanks to Manlio Perillo.
-
-
-Changes with nginx 0.6.11 11 Sep 2007
-
- *) Bugfix: active connection counter always increased if mail proxy was
- used.
-
- *) Bugfix: if backend returned response header only using non-buffered
- proxy, then nginx closed backend connection on timeout.
-
- *) Bugfix: nginx did not support several "Connection" request header
- lines.
-
- *) Bugfix: if the "max_fails" was set for upstream server, then after
- first failure server weight was always one; the bug had appeared in
- 0.6.6.
-
-
-Changes with nginx 0.6.10 03 Sep 2007
-
- *) Feature: the "open_file_cache", "open_file_cache_retest", and
- "open_file_cache_errors" directives.
-
- *) Bugfix: socket leak; the bug had appeared in 0.6.7.
-
- *) Bugfix: a charset set by the "charset" directive was not appended to
- the "Content-Type" header set by $r->send_http_header().
-
- *) Bugfix: a segmentation fault might occur in worker process if
- /dev/poll method was used.
-
-
-Changes with nginx 0.6.9 28 Aug 2007
-
- *) Bugfix: a worker process may got caught in an endless loop, if the
- HTTPS protocol was used; the bug had appeared in 0.6.7.
-
- *) Bugfix: if server listened on two addresses or ports and trailing
- wildcard was used, then nginx did not run.
-
- *) Bugfix: the "ip_hash" directive might incorrectly mark servers as
- down.
-
- *) Bugfix: nginx could not be built on amd64; the bug had appeared in
- 0.6.8.
-
-
-Changes with nginx 0.6.8 20 Aug 2007
-
- *) Change: now nginx tries to set the "worker_priority",
- "worker_rlimit_nofile", "worker_rlimit_core", and
- "worker_rlimit_sigpending" without super-user privileges.
-
- *) Change: now nginx escapes space and "%" in request to a mail proxy
- authentication server.
-
- *) Change: now nginx escapes "%" in $memcached_key variable.
-
- *) Bugfix: nginx used path relative to configuration prefix for
- non-absolute configuration file path specified in the "-c" key; the
- bug had appeared in 0.6.6.
-
- *) Bugfix: nginx did not work on FreeBSD/sparc64.
-
-
-Changes with nginx 0.6.7 15 Aug 2007
-
- *) Change: now the paths specified in the "include",
- "auth_basic_user_file", "perl_modules", "ssl_certificate",
- "ssl_certificate_key", and "ssl_client_certificate" directives are
- relative to directory of nginx configuration file nginx.conf, but not
- to nginx prefix directory.
-
- *) Change: the --sysconfdir=PATH option in configure was canceled.
-
- *) Change: the special make target "upgrade1" was defined for online
- upgrade of 0.1.x versions.
-
- *) Feature: the "server_name" and "valid_referers" directives support
- regular expressions.
-
- *) Feature: the "server" directive in the "upstream" context supports
- the "backup" parameter.
-
- *) Feature: the ngx_http_perl_module supports the
- $r->discard_request_body.
-
- *) Feature: the "add_header Last-Modified ..." directive changes the
- "Last-Modified" response header line.
-
- *) Bugfix: if a response different than 200 was returned to a request
- with body and connection went to the keep-alive state after the
- request, then nginx returned 400 for the next request.
-
- *) Bugfix: a segmentation fault occurred in worker process if invalid
- address was set in the "auth_http" directive.
-
- *) Bugfix: now nginx uses default listen backlog value 511 on all
- platforms except FreeBSD.
- Thanks to Jiang Hong.
-
- *) Bugfix: a worker process may got caught in an endless loop, if a
- "server" inside "upstream" block was marked as "down"; the bug had
- appeared in 0.6.6.
-
- *) Bugfix: now Solaris sendfilev() is not used to transfer the client
- request body to FastCGI-server via the unix domain socket.
-
-
-Changes with nginx 0.6.6 30 Jul 2007
-
- *) Feature: the --sysconfdir=PATH option in configure.
-
- *) Feature: named locations.
-
- *) Feature: the $args variable can be set with the "set" directive.
-
- *) Feature: the $is_args variable.
-
- *) Bugfix: fair big weight upstream balancer.
-
- *) Bugfix: if a client has closed connection to mail proxy then nginx
- might not close connection to backend.
-
- *) Bugfix: if the same host without specified port was used as backend
- for HTTP and HTTPS, then nginx used only one port - 80 or 443.
-
- *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
- versions; the bug had appeared in 0.6.4.
-
-
-Changes with nginx 0.6.5 23 Jul 2007
-
- *) Feature: $nginx_version variable.
- Thanks to Nick S. Grechukh.
-
- *) Feature: the mail proxy supports AUTHENTICATE in IMAP mode.
- Thanks to Maxim Dounin.
-
- *) Feature: the mail proxy supports STARTTLS in SMTP mode.
- Thanks to Maxim Dounin.
-
- *) Bugfix: now nginx escapes space in $memcached_key variable.
-
- *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64.
- Thanks to Jiang Hong.
-
- *) Bugfix: of minor potential bugs.
- Thanks to Coverity's Scan.
-
-
-Changes with nginx 0.6.4 17 Jul 2007
-
- *) Security: the "msie_refresh" directive allowed XSS.
- Thanks to Maxim Boguk.
-
- *) Change: the "proxy_store" and "fastcgi_store" directives were
- changed.
-
- *) Feature: the "proxy_store_access" and "fastcgi_store_access"
- directives.
-
- *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
- Studio.
- Thanks to Andrei Nigmatulin.
-
- *) Workaround: for Sun Studio 12.
- Thanks to Jiang Hong.
-
-
-Changes with nginx 0.6.3 12 Jul 2007
-
- *) Feature: the "proxy_store" and "fastcgi_store" directives.
-
- *) Bugfix: a segmentation fault might occur in worker process if the
- "auth_http_header" directive was used.
- Thanks to Maxim Dounin.
-
- *) Bugfix: a segmentation fault occurred in worker process if the
- CRAM-MD5 authentication method was used, but it was not enabled.
-
- *) Bugfix: a segmentation fault might occur in worker process when the
- HTTPS protocol was used in the "proxy_pass" directive.
-
- *) Bugfix: a segmentation fault might occur in worker process if the
- eventport method was used.
-
- *) Bugfix: the "proxy_ignore_client_abort" and
- "fastcgi_ignore_client_abort" directives did not work; the bug had
- appeared in 0.5.13.
-
-
-Changes with nginx 0.6.2 09 Jul 2007
-
- *) Bugfix: if the FastCGI header was split in records, then nginx passed
- garbage in the header to a client.
-
-
-Changes with nginx 0.6.1 17 Jun 2007
-
- *) Bugfix: in SSI parsing.
-
- *) Bugfix: if remote SSI subrequest was used, then posterior local file
- subrequest might transferred to client in wrong order.
-
- *) Bugfix: large SSI inclusions buffered in temporary files were
- truncated.
-
- *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal
- to the master process identification number.
-
-
-Changes with nginx 0.6.0 14 Jun 2007
-
- *) Feature: the "server_name", "map", and "valid_referers" directives
- support the "www.example.*" wildcards.
-
-
-Changes with nginx 0.5.25 11 Jun 2007
-
- *) Bugfix: nginx could not be built with the
- --without-http_rewrite_module parameter; the bug had appeared in
- 0.5.24.
-
-
-Changes with nginx 0.5.24 06 Jun 2007
-
- *) Security: the "ssl_verify_client" directive did not work if request
- was made using HTTP/0.9.
-
- *) Bugfix: a part of response body might be passed uncompressed if gzip
- was used; the bug had appeared in 0.5.23.
-
-
-Changes with nginx 0.5.23 04 Jun 2007
-
- *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS
- extension.
-
- *) Feature: the "fastcgi_catch_stderr" directive.
- Thanks to Nick S. Grechukh, OWOX project.
-
- *) Bugfix: a segmentation fault occurred in master process if two
- virtual servers should bind() to the overlapping ports.
-
- *) Bugfix: if nginx was built with ngx_http_perl_module and perl
- supported threads, then during second reconfiguration the error
- messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
-
- *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
-
-
-Changes with nginx 0.5.22 29 May 2007
-
- *) Bugfix: a big request body might not be passed to backend; the bug
- had appeared in 0.5.21.
-
-
-Changes with nginx 0.5.21 28 May 2007
-
- *) Bugfix: if server has more than about ten locations, then regex
- locations might be chosen not in that order as they were specified.
-
- *) Bugfix: a worker process may got caught in an endless loop on 64-bit
- platform, if the 33-rd or next in succession backend has failed.
- Thanks to Anton Povarov.
-
- *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE
- library was used.
- Thanks to Andrei Nigmatulin.
-
- *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
-
-
-Changes with nginx 0.5.20 07 May 2007
-
- *) Feature: the "sendfile_max_chunk" directive.
-
- *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..."
- variables may be changed using the "set" directive.
-
- *) Bugfix: a segmentation fault might occur in worker process if the SSI
- command 'if expr="$var = /"' was used.
-
- *) Bugfix: trailing boundary of multipart range response was transferred
- incorrectly.
- Thanks to Evan Miller.
-
- *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
- Studio.
- Thanks to Andrei Nigmatulin.
-
- *) Bugfix: the ngx_http_perl_module could not be built by Solaris make.
- Thanks to Andrei Nigmatulin.
-
-
-Changes with nginx 0.5.19 24 Apr 2007
-
- *) Change: now the $request_time variable has millisecond precision.
-
- *) Change: the method $r->rflush of ngx_http_perl_module was renamed to
- the $r->flush.
-
- *) Feature: the $upstream_addr variable.
-
- *) Feature: the "proxy_headers_hash_max_size" and
- "proxy_headers_hash_bucket_size" directives.
- Thanks to Volodymyr Kostyrko.
-
- *) Bugfix: the files more than 2G could not be transferred using
- sendfile and limit_rate on 64-bit platforms.
-
- *) Bugfix: the files more than 2G could not be transferred using
- sendfile on 64-bit Linux.
-
-
-Changes with nginx 0.5.18 19 Apr 2007
-
- *) Feature: the ngx_http_sub_filter_module.
-
- *) Feature: the "$upstream_http_..." variables.
-
- *) Feature: now the $upstream_status and $upstream_response_time
- variables keep data about all upstreams before X-Accel-Redirect.
-
- *) Bugfix: a segmentation fault occurred in master process after first
- reconfiguration and receiving any signal if nginx was built with
- ngx_http_perl_module and perl did not support multiplicity; the bug
- had appeared in 0.5.9.
-
- *) Bugfix: if perl did not support multiplicity, then after
- reconfiguration perl code did not work; the bug had appeared in
- 0.3.38.
-
-
-Changes with nginx 0.5.17 02 Apr 2007
-
- *) Change: now nginx always returns the 405 status for the TRACE method.
-
- *) Feature: now nginx supports the "include" directive inside the
- "types" block.
-
- *) Bugfix: the $document_root variable usage in the "root" and "alias"
- directives is disabled: this caused recursive stack overflow.
-
- *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
-
- *) Bugfix: in some cases non-cacheable variables (such as $uri variable)
- returned old cached value.
-
-
-Changes with nginx 0.5.16 26 Mar 2007
-
- *) Bugfix: the C-class network was not used as hash key in the "ip_hash"
- directive.
- Thanks to Pavel Yarkovoy.
-
- *) Bugfix: a segmentation fault might occur in worker process if a
- charset was set in the "Content-Type" header line and the line has
- trailing ";"; the bug had appeared in 0.3.50.
-
- *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
- used and a request body written in a temporary file was multiple of
- 32K.
-
- *) Bugfix: nginx could not be built on Solaris without the --with-debug
- option; the bug had appeared in 0.5.15.
-
-
-Changes with nginx 0.5.15 19 Mar 2007
-
- *) Feature: the mail proxy supports authenticated SMTP proxying and the
- "smtp_auth", "smtp_capabilities", and "xclient" directives.
- Thanks to Anton Yuzhaninov and Maxim Dounin.
-
- *) Feature: now the keep-alive connections are closed just after
- receiving the reconfiguration signal.
-
- *) Change: the "imap" and "auth" directives were renamed to the "mail"
- and "pop3_auth" directives.
-
- *) Bugfix: a segmentation fault occurred in worker process if the
- CRAM-MD5 authentication method was used and the APOP method was
- disabled.
-
- *) Bugfix: if the "starttls only" directive was used in POP3 protocol,
- then nginx allowed authentication without switching to the SSL mode.
-
- *) Bugfix: worker processes did not exit after reconfiguration and did
- not rotate logs if the eventport method was used.
-
- *) Bugfix: a worker process may got caught in an endless loop, if the
- "ip_hash" directive was used.
-
- *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll
- methods are used.
-
-
-Changes with nginx 0.5.14 23 Feb 2007
-
- *) Bugfix: nginx ignored superfluous closing "}" in the end of
- configuration file.
-
-
-Changes with nginx 0.5.13 19 Feb 2007
-
- *) Feature: the COPY and MOVE methods.
-
- *) Bugfix: the ngx_http_realip_module set garbage for requests passed
- via keep-alive connection.
-
- *) Bugfix: nginx did not work on big-endian 64-bit Linux.
- Thanks to Andrei Nigmatulin.
-
- *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes
- the connection right away, but not after timeout.
-
- *) Bugfix: if the "epoll" method was used and a client closed a
- connection prematurely, then nginx closed the connection after a send
- timeout only.
-
- *) Bugfix: nginx could not be built on platforms different from i386,
- amd64, sparc, and ppc; the bug had appeared in 0.5.8.
-
-
-Changes with nginx 0.5.12 12 Feb 2007
-
- *) Bugfix: nginx could not be built on platforms different from i386,
- amd64, sparc, and ppc; the bug had appeared in 0.5.8.
-
- *) Bugfix: a segmentation fault might occur in worker process if the
- temporary files were used while working with FastCGI server; the bug
- had appeared in 0.5.8.
-
- *) Bugfix: a segmentation fault might occur in worker process if the
- $fastcgi_script_name variable was logged.
-
- *) Bugfix: ngx_http_perl_module could not be built on Solaris.
-
-
-Changes with nginx 0.5.11 05 Feb 2007
-
- *) Feature: now configure detects system PCRE library in MacPorts.
- Thanks to Chris McGrath.
-
- *) Bugfix: the response was incorrect if several ranges were requested;
- the bug had appeared in 0.5.6.
-
- *) Bugfix: the "create_full_put_path" directive could not create the
- intermediate directories if no "dav_access" directive was set.
- Thanks to Evan Miller.
-
- *) Bugfix: the "0" response code might be logged in the access_log
- instead of the "400" and "408" error codes.
-
- *) Bugfix: a segmentation fault might occur in worker process if nginx
- was built with -O2 optimization.
-
-
-Changes with nginx 0.5.10 26 Jan 2007
-
- *) Bugfix: while online executable file upgrade the new master process
- did not inherit the listening sockets; the bug had appeared in 0.5.9.
-
- *) Bugfix: a segmentation fault might occur in worker process if nginx
- was built with -O2 optimization; the bug had appeared in 0.5.1.
-
-
-Changes with nginx 0.5.9 25 Jan 2007
-
- *) Change: now the ngx_http_memcached_module uses the $memcached_key
- variable value as a key.
-
- *) Feature: the $memcached_key variable.
-
- *) Feature: the "clean" parameter in the "client_body_in_file_only"
- directive.
-
- *) Feature: the "env" directive.
-
- *) Feature: the "sendfile" directive is available inside the "if" block.
-
- *) Feature: now on failure of the writing to access nginx logs a message
- to error_log, but not more often than once a minute.
-
- *) Bugfix: the "access_log off" directive did not always turn off the
- logging.
-
-
-Changes with nginx 0.5.8 19 Jan 2007
-
- *) Bugfix: a segmentation fault might occur if
- "client_body_in_file_only on" was used and a request body was small.
-
- *) Bugfix: a segmentation fault occurred if
- "client_body_in_file_only on" and "proxy_pass_request_body off" or
- "fastcgi_pass_request_body off" directives were used, and nginx
- switched to a next upstream.
-
- *) Bugfix: if the "proxy_buffering off" directive was used and a client
- connection was non-active, then the connection was closed after send
- timeout; the bug had appeared in 0.4.7.
-
- *) Bugfix: if the "epoll" method was used and a client closed a
- connection prematurely, then nginx closed the connection after a send
- timeout only.
-
- *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
- used.
-
- *) Bugfixes in the "limit_zone" directive.
-
-
-Changes with nginx 0.5.7 15 Jan 2007
-
- *) Feature: the ssl_session_cache storage optimization.
-
- *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
-
- *) Bugfix: the segmentation fault was occurred on start or while
- reconfiguration if the "ssl_session_cache" or "limit_zone" directives
- were used on 64-bit platforms.
-
- *) Bugfix: a segmentation fault occurred if the "add_before_body" or
- "add_after_body" directives were used and there was no "Content-Type"
- header line in response.
-
- *) Bugfix: the OpenSSL library was always built with the threads
- support.
- Thanks to Den Ivanov.
-
- *) Bugfix: the PCRE-6.5+ library and the icc compiler compatibility.
-
-
-Changes with nginx 0.5.6 09 Jan 2007
-
- *) Change: now the ngx_http_index_module ignores all methods except the
- GET, HEAD, and POST methods.
-
- *) Feature: the ngx_http_limit_zone_module.
-
- *) Feature: the $binary_remote_addr variable.
-
- *) Feature: the "ssl_session_cache" directives of the
- ngx_http_ssl_module and ngx_imap_ssl_module.
-
- *) Feature: the DELETE method supports recursive removal.
-
- *) Bugfix: the byte-ranges were transferred incorrectly if the
- $r->sendfile() was used.
-
-
-Changes with nginx 0.5.5 24 Dec 2006
-
- *) Change: the -v switch does not show compiler information any more.
-
- *) Feature: the -V switch.
-
- *) Feature: the "worker_rlimit_core" directive supports size in K, M,
- and G.
-
- *) Bugfix: the nginx.pm module now could be installed by an unprivileged
- user.
-
- *) Bugfix: a segmentation fault might occur if the $r->request_body or
- $r->request_body_file methods were used.
-
- *) Bugfix: the ppc platform specific bugs.
-
-
-Changes with nginx 0.5.4 15 Dec 2006
-
- *) Feature: the "perl" directive may be used inside the "limit_except"
- block.
-
- *) Bugfix: the ngx_http_dav_module required the "Date" request header
- line for the DELETE method.
-
- *) Bugfix: if one only parameter was used in the "dav_access" directive,
- then nginx might report about configuration error.
-
- *) Bugfix: a segmentation fault might occur if the $host variable was
- used; the bug had appeared in 0.4.14.
-
-
-Changes with nginx 0.5.3 13 Dec 2006
-
- *) Feature: the ngx_http_perl_module supports the $r->status,
- $r->log_error, and $r->sleep methods.
-
- *) Feature: the $r->variable method supports variables that do not exist
- in nginx configuration.
-
- *) Bugfix: the $r->has_request_body method did not work.
-
-
-Changes with nginx 0.5.2 11 Dec 2006
-
- *) Bugfix: if the "proxy_pass" directive used the name of the "upstream"
- block, then nginx tried to resolve the name; the bug had appeared in
- 0.5.1.
-
-
-Changes with nginx 0.5.1 11 Dec 2006
-
- *) Bugfix: the "post_action" directive might not run after a
- unsuccessful completion of a request.
-
- *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11.
- Thanks to Bron Gondwana.
-
- *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then
- the message "no port in upstream" was issued; the bug had appeared in
- 0.5.0.
-
- *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
- same servers but different ports, then these directives uses the
- first described port; the bug had appeared in 0.5.0.
-
- *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the
- unix domain sockets, then these directives used first described
- socket; the bug had appeared in 0.5.0.
-
- *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the
- last line in the password file and there was no the carriage return,
- the line feed, or the ":" symbol after the password.
-
- *) Bugfix: the $upstream_response_time variable might be equal to
- "0.000", although response time was more than 1 millisecond.
-
-
-Changes with nginx 0.5.0 04 Dec 2006
-
- *) Change: the parameters in the "%name" form in the "log_format"
- directive are not supported anymore.
-
- *) Change: the "proxy_upstream_max_fails",
- "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails",
- "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and
- "memcached_upstream_fail_timeout" directives are not supported
- anymore.
-
- *) Feature: the "server" directive in the "upstream" context supports
- the "max_fails", "fail_timeout", and "down" parameters.
-
- *) Feature: the "ip_hash" directive inside the "upstream" block.
-
- *) Feature: the WAIT status in the "Auth-Status" header line of the
- IMAP/POP3 proxy authentication server response.
-
- *) Bugfix: nginx could not be built on 64-bit platforms; the bug had
- appeared in 0.4.14.
-
-
-Changes with nginx 0.4.14 27 Nov 2006
-
- *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
-
- *) Feature: now configure detects system PCRE library on FreeBSD, Linux,
- and NetBSD.
-
- *) Bugfix: ngx_http_perl_module did not work with perl built with the
- threads support; the bug had appeared in 0.3.38.
-
- *) Bugfix: ngx_http_perl_module did not work if perl was called
- recursively.
-
- *) Bugfix: nginx ignored a host name in a request line.
-
- *) Bugfix: a worker process may got caught in an endless loop, if a
- FastCGI server sent too many data to the stderr.
-
- *) Bugfix: the $upstream_response_time variable may be negative if the
- system time was changed backward.
-
- *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3
- proxy authentication server when POP3 was used.
-
- *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3
- proxy authentication server failed.
-
-
-Changes with nginx 0.4.13 15 Nov 2006
-
- *) Feature: the "proxy_pass" directive may be used inside the
- "limit_except" block.
-
- *) Feature: the "limit_except" directive supports all WebDAV methods.
-
- *) Bugfix: if the "add_before_body" directive was used without the
- "add_after_body" directive, then a response did not transferred
- complete.
-
- *) Bugfix: a large request body did not receive if the epoll method and
- the deferred accept() were used.
-
- *) Bugfix: a charset could not be set for ngx_http_autoindex_module
- responses; the bug had appeared in 0.3.50.
-
- *) Bugfix: the "[alert] zero size buf" error when FastCGI server was
- used;
-
- *) Bugfix: the --group= configuration parameter was ignored.
- Thanks to Thomas Moschny.
-
- *) Bugfix: the 50th subrequest in SSI response did not work; the bug had
- appeared in 0.3.50.
-
-
-Changes with nginx 0.4.12 31 Oct 2006
-
- *) Feature: the ngx_http_perl_module supports the $r->variable method.
-
- *) Bugfix: if a big static file was included using SSI in a response,
- then the response may be transferred incomplete.
-
- *) Bugfix: nginx did not omit the "#fragment" part in URI.
-
-
-Changes with nginx 0.4.11 25 Oct 2006
-
- *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
-
- *) Feature: the ngx_http_perl_module supports the $r->allow_ranges
- method.
-
- *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS
- commands might not work; the bug had appeared in 0.4.10.
-
-
-Changes with nginx 0.4.10 23 Oct 2006
-
- *) Feature: the POP3 proxy supports the APOP command.
-
- *) Bugfix: if the select, poll or /dev/poll methods were used, then
- while waiting authentication server response the IMAP/POP3 proxy
- hogged CPU.
-
- *) Bugfix: a segmentation fault might occur if the $server_addr variable
- was used in the "map" directive.
-
- *) Bugfix: the ngx_http_flv_module did not support the byte ranges for
- full responses; the bug had appeared in 0.4.7.
-
- *) Bugfix: nginx could not be built on Debian amd64; the bug had
- appeared in 0.4.9.
-
-
-Changes with nginx 0.4.9 13 Oct 2006
-
- *) Feature: the "set" parameter in the "include" SSI command.
-
- *) Feature: the ngx_http_perl_module now tests the nginx.pm module
- version.
-
-
-Changes with nginx 0.4.8 11 Oct 2006
-
- *) Bugfix: if an "include" SSI command were before another "include" SSI
- command with a "wait" parameter, then the "wait" parameter might not
- work.
-
- *) Bugfix: the ngx_http_flv_module added the FLV header to the full
- responses.
- Thanks to Alexey Kovyrin.
-
-
-Changes with nginx 0.4.7 10 Oct 2006
-
- *) Feature: the ngx_http_flv_module.
-
- *) Feature: the $request_body_file variable.
-
- *) Feature: the "charset" and "source_charset" directives support the
- variables.
-
- *) Bugfix: if an "include" SSI command were before another "include" SSI
- command with a "wait" parameter, then the "wait" parameter might not
- work.
-
- *) Bugfix: if the "proxy_buffering off" directive was used or while
- working with memcached the connections might not be closed on
- timeout.
-
- *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
- and ppc64.
-
-
-Changes with nginx 0.4.6 06 Oct 2006
-
- *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64,
- and ppc64.
-
- *) Bugfix: nginx sent the chunked response for HTTP/1.1 request,
- if its length was set by text string in the
- $r->headers_out("Content-Length", ...) method.
-
- *) Bugfix: after redirecting error by an "error_page" directive any
- ngx_http_rewrite_module directive returned this error code; the bug
- had appeared in 0.4.4.
-
-
-Changes with nginx 0.4.5 02 Oct 2006
-
- *) Bugfix: nginx could not be built on Linux and Solaris; the bug had
- appeared in 0.4.4.
-
-
-Changes with nginx 0.4.4 02 Oct 2006
-
- *) Feature: the $scheme variable.
-
- *) Feature: the "expires" directive supports the "max" parameter.
-
- *) Feature: the "include" directive supports the "*" mask.
- Thanks to Jonathan Dance.
-
- *) Bugfix: the "return" directive always overrode the "error_page"
- response code redirected by the "error_page" directive.
-
- *) Bugfix: a segmentation fault occurred if zero-length body was in PUT
- method.
-
- *) Bugfix: the redirect was changed incorrectly if the variables were
- used in the "proxy_redirect" directive.
-
-
-Changes with nginx 0.4.3 26 Sep 2006
-
- *) Change: now the 499 error could not be redirected using an
- "error_page" directive.
-
- *) Feature: the Solaris 10 event ports support.
-
- *) Feature: the ngx_http_browser_module.
-
- *) Bugfix: a segmentation fault may occur while redirecting the 400
- error to the proxied server using a "proxy_pass" directive.
-
- *) Bugfix: a segmentation fault occurred if an unix domain socket was
- used in a "proxy_pass" directive; the bug had appeared in 0.3.47.
-
- *) Bugfix: SSI did work with memcached and nonbuffered responses.
-
- *) Workaround: of the Sun Studio PAUSE hardware capability bug.
-
-
-Changes with nginx 0.4.2 14 Sep 2006
-
- *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had
- appeared in 0.4.1.
-
-
-Changes with nginx 0.4.1 14 Sep 2006
-
- *) Bugfix: the DragonFlyBSD compatibility.
- Thanks to Pavel Nazarov.
-
- *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than
- 2G.
-
- *) Feature: now on Linux nginx uses O_NOATIME flag for static requests.
- Thanks to Yusuf Goolamabbas.
-
-
-Changes with nginx 0.4.0 30 Aug 2006
-
- *) Change in internal API: the HTTP modules initialization was moved
- from the init module phase to the HTTP postconfiguration phase.
-
- *) Change: now the request body is not read beforehand for the
- ngx_http_perl_module: it's required to start the reading using the
- $r->has_request_body method.
-
- *) Feature: the ngx_http_perl_module supports the DECLINED return code.
-
- *) Feature: the ngx_http_dav_module supports the incoming "Date" header
- line for the PUT method.
-
- *) Feature: the "ssi" directive is available inside the "if" block.
-
- *) Bugfix: a segmentation fault occurred if there was an "index"
- directive with variables and the first index name was without
- variables; the bug had appeared in 0.1.29.
-
-
-Changes with nginx 0.3.61 28 Aug 2006
-
- *) Change: now the "tcp_nodelay" directive is turned on by default.
-
- *) Feature: the "msie_refresh" directive.
-
- *) Feature: the "recursive_error_pages" directive.
-
- *) Bugfix: the "rewrite" directive returned incorrect redirect, if the
- redirect had the captured escaped symbols from original URI.
-
-
-Changes with nginx 0.3.60 18 Aug 2006
-
- *) Bugfix: a worker process may got caught in an endless loop while an
- error redirection; the bug had appeared in 0.3.59.
-
-
-Changes with nginx 0.3.59 16 Aug 2006
-
- *) Feature: now is possible to do several redirection using the
- "error_page" directive.
-
- *) Bugfix: the "dav_access" directive did not support three parameters.
-
- *) Bugfix: the "error_page" directive did not changes the "Content-Type"
- header line after the "X-Accel-Redirect" was used; the bug had
- appeared in 0.3.58.
-
-
-Changes with nginx 0.3.58 14 Aug 2006
-
- *) Feature: the "error_page" directive supports the variables.
-
- *) Change: now the procfs interface instead of sysctl is used on Linux.
-
- *) Change: now the "Content-Type" header line is inherited from first
- response when the "X-Accel-Redirect" was used.
-
- *) Bugfix: the "error_page" directive did not redirect the 413 error.
-
- *) Bugfix: the trailing "?" did not remove old arguments if no new
- arguments were added to a rewritten URI.
-
- *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
-
-
-Changes with nginx 0.3.57 09 Aug 2006
-
- *) Feature: the $ssl_client_serial variable.
-
- *) Bugfix: in the "!-e" operator of the "if" directive.
- Thanks to Andrian Budanstov.
-
- *) Bugfix: while a client certificate verification nginx did not send to
- a client the required certificates information.
-
- *) Bugfix: the $document_root variable did not support the variables in
- the "root" directive.
-
-
-Changes with nginx 0.3.56 04 Aug 2006
-
- *) Feature: the "dav_access" directive.
-
- *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e",
- "-x", and "!-x" operators.
-
- *) Bugfix: a segmentation fault occurred if a request returned a
- redirect and some sent to client header lines were logged in the
- access log.
-
-
-Changes with nginx 0.3.55 28 Jul 2006
-
- *) Feature: the "stub" parameter in the "include" SSI command.
-
- *) Feature: the "block" SSI command.
-
- *) Feature: the unicode2nginx script was added to contrib.
-
- *) Bugfix: if a "root" was specified by variable only, then the root was
- relative to a server prefix.
-
- *) Bugfix: if the request contained "//" or "/./" and escaped symbols
- after them, then the proxied request was sent unescaped.
-
- *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now
- returns all "Cookie" header lines.
-
- *) Bugfix: a segmentation fault occurred if
- "client_body_in_file_only on" was used and nginx switched to a next
- upstream.
-
- *) Bugfix: on some condition while reconfiguration character codes
- inside the "charset_map" may be treated invalid; the bug had appeared
- in 0.3.50.
-
-
-Changes with nginx 0.3.54 11 Jul 2006
-
- *) Feature: nginx now logs the subrequest information to the error log.
-
- *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and
- "memcached_next_upstream" directives support the "off" parameter.
-
- *) Feature: the "debug_connection" directive supports the CIDR address
- form.
-
- *) Bugfix: if a response of proxied server or FastCGI server was
- converted from UTF-8 or back, then it may be transferred incomplete.
-
- *) Bugfix: the $upstream_response_time variable had the time of the
- first request to a backend only.
-
- *) Bugfix: nginx could not be built on amd64 platform; the bug had
- appeared in 0.3.53.
-
-
-Changes with nginx 0.3.53 07 Jul 2006
-
- *) Change: the "add_header" directive adds the string to 204, 301, and
- 302 responses.
-
- *) Feature: the "server" directive in the "upstream" context supports
- the "weight" parameter.
-
- *) Feature: the "server_name" directive supports the "*" wildcard.
-
- *) Feature: nginx supports the request body size more than 2G.
-
- *) Bugfix: if a client was successfully authorized using "satisfy_any
- on", then anyway the message "access forbidden by rule" was written
- in the log.
-
- *) Bugfix: the "PUT" method may erroneously not create a file and return
- the 409 code.
-
- *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx
- continued proxying anyway.
-
-
-Changes with nginx 0.3.52 03 Jul 2006
-
- *) Change: the ngx_http_index_module behavior for the "POST /" requests
- is reverted to the 0.3.40 version state: the module now does not
- return the 405 error.
-
- *) Bugfix: the worker process may got caught in an endless loop if the
- limit rate was used; the bug had appeared in 0.3.37.
-
- *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even
- if the recoding was not needed; the bug had appeared in 0.3.50.
-
- *) Bugfix: if a code response of the PUT request was 409, then a
- temporary file was not removed.
-
-
-Changes with nginx 0.3.51 30 Jun 2006
-
- *) Bugfix: the "<" symbols might disappeared some conditions in the SSI;
- the bug had appeared in 0.3.50.
-
-
-Changes with nginx 0.3.50 28 Jun 2006
-
- *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors"
- directives was renamed to the "proxy_intercept_errors" and
- "fastcgi_intercept_errors" directives.
-
- *) Feature: the ngx_http_charset_module supports the recoding from the
- single byte encodings to the UTF-8 encoding and back.
-
- *) Feature: the "X-Accel-Charset" response header line is supported in
- proxy and FastCGI mode.
-
- *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI
- command was removed only if the command also has the "$" symbol.
-
- *) Bugfix: the "