[TOC] ## Nignx配置 cdnfly节点使用的web服务器是Nginx,在这里可以完成对Nginx大部分配置,即nginx.conf配置文件。更详情的说明参考[http://nginx.org/en/docs/](http://nginx.org/en/docs/) ### Worker * worker\_rlimit\_nofile - 设置worker进程的最大文件打开数 * worker\_shutdown\_timeout - 平滑关闭worker进程的超时时间。当重载nginx时,如果worker在处理连接,master不会马上关闭worker进程,而是要等到此设置的时间,超时后会强制关闭 * worker\_connections - 设置单个worker进程允许同时处理的最大连接数 * worker\_processes - worker的进程数,一般设置auto就行 * resolver - 设置nginx解析域名时使用的dns服务器,当源服务器为域名时会用到 * resolver\_timeout - 解析超时的时间 ### Http gzip设置: * gzip\_comp\_level - 设置gzip压缩响应体的等级,可选值为1-9,数值越高,压缩率越高 * gzip\_http\_version - 压缩响应体要求最小的http版本 * gzip\_min\_length - 压缩响应体要求最小的长度,该长度只参考Content-Length响应头 * gzip\_vary - 是否添加响应头Vary: Accept-Encoding,这个响应头将影响缓存行为 proxy设置: * proxy\_buffering - 开启时,nginx将缓冲上游服务器响应的内容,直到达到proxy_buffer_size设置的值才传回客户端,关闭时,nginx将不缓冲内容直接返回客户端。 * proxy\_cache\_methods - 设置只缓存这里指定的方法的请求 * proxy\_cache\_max\_size - 设置总缓存内容的最大大小 * proxy\_cache\_keys\_zone\_size - 设置用于缓存meta data的zone的大小,这将影响能缓存的文件的数量 * proxy\_http\_version - 回源所使用的http版本,推荐使用1.1版本,并配合upstream的keepalive使用 * proxy\_max\_temp\_file\_size - 设置最大临时文件大小,此值将会影响上传文件的大小 * proxy\_next\_upstream - 当出现此参数指定的错误时,尝试连接下一个源。 * proxy\_connect\_timeout - 连接源服务器超时时间,不能超过75秒 * proxy\_send\_timeout - 设置两个连续的write请求最大间隔时间,如果超时,将关闭连接 * proxy\_read\_timeout - 设置两个连续的read请求最大间隔时间,如果超时,将关闭连接 其它设置: * server - 设置响应头server的值 * client\_max\_body\_size - 设置客户端请求头的最大大小,服务器将会检查Content-Length请求头的值。如果设置为0,将会关闭检查 * default\_type - 默认响应的MIME类型 * keepalive\_requests - 设置keepalive的请求数,超过请求数后,将会关闭连接 * keepalive\_timeout - keepalive保持的最大时间,超时将关闭连接 * log\_not\_found - 是否把404请求记录到错误日志 * server\_names\_hash\_max\_size - server names hash表的最大大小,当域名过多时,可能需要增大此值 * server\_tokens - 是否关闭nginx设置Server响应头 ### Stream * proxy\_connect\_timeout - 连接源服务器超时时间,不能超过75秒 * proxy\_timeout - 设置两个连续的read或write请求最大间隔时间,如果超时,将关闭连接 ## 资源配置 资源配置可以对用户的使用资源进行限制,防止滥用对系统造成影响,比如设置网站的黑名单和白名单数量,数量过多时,可能会影响系统性能。 ### 网站资源限制 配置限制: * 相关配置限制不低于 - 限制网站的相关配置添加数量,如证书的dnsapi,证书,acl数量,cc匹配器,cc过滤器,cc规则,网站组的数量。限制的规则为不低于此项设置的值,不大于下面设置的当前网站数的最大倍数。 * 相关配置限制的最大倍数 - 同以上 黑白名单: * 黑名单IP数量限制 - 限制单个网站设置的黑名单数量 * 白名单IP数量限制 - 限制单个网站设置的白名单数量 清缓存及解锁: * 日清URL缓存次数限制 - 每日清URL缓存次数上限 * 日清目录缓存次数限制 - 每日清目录缓存次数上限 * 日预热URL次数限制 - 每日预热URL的次数上限 * 预热超时 - 预热单个URL的最大时间,超时则中止预热 * 日解锁IP次数限制 - 每日解锁IP的次数 * 每次解锁IP个数限制 - 单次解锁IP总数限制 规则数限制: * 单个cc规则组 - 单个cc规则允许的规则数 * 单个ACL规则数限制 - 单个ACL允许的规则数 下载日志: * 每天允许下载日志次数 - 每天允许申请下载日志的次数 * 日志文件存放目录 - 下载日志临时存放的目录 * 日志文件存放时长 - 下载日志临时存放的时长,单位为小时 其它: * 单个站点最大域名数限制 - 默认为100,建议最大100,因为let's encrypt证书最大域名数为100 * 默认监听80端口 - 如果四层转发需要监听80端口,可以设置此值为0,即不默认监听80 ### 转发资源限制 * 禁用的端口 - 禁止四层转发监听的端口,默认禁止80和443,预留给http使用 * 相关配置限制不低于 - 限制四层转发的相关配置,如转发组数量。限制规则同网站的。 * 相关配置限制的最大倍数 - 限制四层转发的相关配置,如转发组数量。限制规则同网站的。 * ACL规则数限制 - 四层转发中ACL规则数的限制,多了会影响性能 ### 公共限制 * 禁用的自定义端口 - 同时禁止HTTP和转发监听的端口,默认22和5000,多个端口以空格分隔 * 允许的自定义端口 - 允许监听的自定义端口,包括网站和转发。可以设置一个范围,如81-222,或者单个端口99,多个值以逗号分隔 ## 默认配置 默认配置作用是为添加网站,添加转发提供默认值。 ### 网站配置 Http: * 监听端口 - 默认为80,可以为其它。当添加网站不指定端口时,使用此默认端口 * 回源协议 - 默认为http,可以为https。当添加网站不指定回源协议时,使用此默认协议 * 回源端口 - 默认为80,可以为其它端口。当添加网站不指定回源协议时,使用此默认端口 Https: * 监听端口 - 默认443,可以为其它 * 开启HSTS * 开启HTTP2 * 回源SSL协议 * 回源协议 * 回源端口 其它: * 负载方式 * 默认CC规则 * 开启Gzip * gzip types * 开启Websocket ### 转发配置 * 监听协议 * 负载方式 * 开启proxy protocol ## 错误页面 * 502错误页面 * 504错误页面 * 流量超限页面 * 套餐到期页面 * 站点锁定页面