| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Nginx通用配置--日志,https访问,强制跳转https,gzip压缩,前后端分离等 -> 正文阅读 |
|
[网络协议]Nginx通用配置--日志,https访问,强制跳转https,gzip压缩,前后端分离等 |
目录 一、JSON格式access日志配置
配置项目说明: json格式在后续处理分析日志比较友好,用的都是Nginx内置的变量做一些记录。 二、强制跳转https
三、https监听
部分配置项说明: ssl_session_cache :官方的翻译大意如下 Syntax:ssl_session_cache off | none | [builtin[:size]] [shared:name:size]; 默认: ssl_session_cache none; Context:http, server 设置存储session参数的缓存的类型和大小。缓存可以是以下任何一种类型: off 严禁使用session缓存:nginx明确告诉客户端session可能不会被重用。 none session缓存的使用被禁止:nginx告诉客户端session可能会被重用,但实际上并不会将session参数存储在缓存中。 builtin 在OpenSSL中构建的缓存;仅由一个工作进程使用。缓存大小在session中指定。如果没有给出大小,则等于20480个会话。使用内置高速缓存可能导致内存碎片。 shared 所有工作进程之间共享缓存。缓存大小以字节为单位指定;一兆字节可以存储大约4000个session。每个共享缓存都应该有一个任意名称。具有相同名称的缓存可以用于多个虚拟服务器。 两种类型的缓存可以同时使用:配置案例: ssl_session_cache builtin:1000 shared:SSL:10m; 但是只使用shared缓存,而不使用built-in缓存性能应该会更高。
指定客户端可以重用会话参数的时间,这个值设置还是需要根据实际来进行判断。按照官方1m缓存可以存储4000会话,如果设置的会话超时时间太长可能导致太多https连接后缓存越来越大,影响系统性能。 因为https连接在3次tcp握手的前提下还会增加加密套件的协商握手,所以这个两个的配置设置不同的参数值通过重用Session可以优化Nginx在https连接下的性能。 四、gzip压缩
配置项说明: 前端使用MD5校验的可能会导致网页无法正常显示 gzip_on: 是否开启gzip压缩,默认为off。 gzip_min_length: gzip对于小文件压缩,有时会出现越压越大的情况。gzip使用的LZ77算法对于较多重复冗余内容的文件有着较好的压缩效果。该配置表示弃用gzip压缩的最小文件大小。该指令设置页面的字节数,当响应页面的大小大于该值时,才启用Gzip功能。响应页面的大小通过HTTP响应头部中的Content-Length指令获取,但是如果使用了Chunk编码动态压缩, Content-Length或不存在或被忽略,该指令不起作用。 gzip_buffer: nginx进行gzip压缩时向系统申请的缓存空间,值为number size 默认为number*size==128k gzip_comp_level: 该指令用于设定Gzip压缩等级,包括级别1到级别9。级别1表示压缩程度最低,压缩效率最高;级别9表示压缩程度最高,压缩效率最低,最费时间。 gzip_disable: 对于匹配到正则的客户端设备不使用gzip,一般匹配客户端UA,类似于Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0,可以使用正则进行匹配。 gzip_http_version: 设置gzip使用时候的最低http协议版本,gzip_http_version 1.1表示只有http协议在1.1及以上时才会进行gzip压缩 gzip_types: Nginx服务器可以根据响应页的MIME类型选择性地开启Gzip压缩功能。该指令用来设置MIME类型,被设置的类型将被压缩。 gzip_vary: 该指令用于设置在使用Gzip功能时是否发送带有“Vary: Accept-Encoding”头域的响应头部。该头域的主要功能是告诉接收方发送的数据经过了压缩处理。开启后的效果是在响应头部添加了Accept-Encoding: gzip,这对于本身不支持Gzip压缩的客户端浏览器是有用的。 gzip_proxied: 对反向代理的后端服务器返回的响应是否进行gzip,默认为off 五、前后端分离location,proxy_pass配置两个重要的点: ??????? pass_proxy中的斜杠/只需要看做是一个字符,连接起来就行 ????????在pass_proxy中出现斜杠/,pass_proxy的配置值均会覆盖location匹配到的部分,不会保留匹配部分 1.重写url,去除api使其直接访问后端。(前后端分离)xxx.com/api/web/hello => xxx.com/web/hello
2.更改访问后端的api接口版本xxx.com/v2/web/post/article1 => xxx.com/v1/web/post/article1
六、上传文件大小限制配置client_max_body_size
文件太大的话会有413报错,后端也要相应的进行body大小的限制解除,springboot的会有一个servlet的块下有个这个设置
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:42:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |