当前位置: 首页 > news >正文

前端nginx配置指南

前端项目发布后,有些接口需要在服务器配置反向代理,资源配置gzip压缩,配置跨域允许访问等

配置文件模块概览
在这里插入图片描述
配置示例
在这里插入图片描述
在这里插入图片描述

反向代理
反向代理是Nginx的核心功能之一,是指客户端发送请求到代理服务器,代理服务器再将请求转发给后端的多个服务器中的一个或多个,并将后端服务器的响应返回给客户端。客户端并不直接访问后端服务器,而是通过反向代理服务器来获取服务。

要配置Nginx作为反向代理,需要使用location块中的proxy_pass指令,add_header配置允许跨域请求
跨域请求配置

server {listen 8020;server_name 172.18.34.14;fastcgi_buffers 50 4K;fastcgi_buffer_size 4k;location /hznl/data {#指定后台服务器地址proxy_pass http://172.18.43.5:8098;#允许所有源add_header 'Access-Control-Allow-Origin' '*';#是否可以向服务端发送Cookie,默认是 falseadd_header 'Access-Control-Allow_Credentials' 'true';  #允许指定头部add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';#允许指定方法add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH';}
}

单页面应用刷新404问题

 location / {try_files $uri $uri/ /index.html;}

静态资源压缩gzip
Nginx中的静态资源压缩可以在http块、server块、location块中配置;Gzip是一种文件级别的数据压缩算法,用来减少文件大小,节省带宽从而提高网站的访问速度。它可以有效减少网络传输时间,这在大多数网站上可以大大提升用户体验

http {include       mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;client_max_body_size 10m;#gzip  on;#是否启动gzip压缩,on代表启动,off代表开启gzip  on;##  #需要压缩的常见静态资源gzip_types text/plain application/javascript   application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;##    #由于nginx的压缩发生在浏览器端而微软的ie6会导致压缩后图片看不见所以该选#    项是禁止ie6发生压缩gzip_disable "MSIE [1-6]\.";##      #如果文件大于1k就启动压缩gzip_min_length 1k;##        #以16k为单位,按照原始数据的大小以4倍的方式申请内存空间,一般此项不要修改gzip_buffers 4 16k;##          #压缩的等级,数字选择范围是1-9,数字越小压缩的速度越快,消耗cpu就越大gzip_comp_level 2;include /usr/local/nginx/conf/conf.d/*.conf;
}

验证gzip压缩是否生效
服务端在接受到来自客户端的请求申请头部信息:Accept-Encoding: gzip, deflate,后,会对请求的资源响应内容的实体进行相应的编码处理,并且会在服务端的响应头部信息返回相应响应头部信息
在这里插入图片描述
可以看到watermark.js文件gzip压缩前为14.6kb,压缩后是4.4kb
在这里插入图片描述
可以看到,对图片资源使用gzip压缩没有使图片体积变小,体积还增大了。不管是 gif,jpg,png,ico格式,都是对图片做了有损压缩,也就是说,这些格式本来就是已经压缩过的格式,再进行gzip压缩,也不会有啥明显效果,而且还消耗服务器的CPU。所以,一般都不会对图片,视频,音频这些类型的文件做gzip压缩。
补充:
访问链接
对图片压缩
在这里插入图片描述

http://www.lryc.cn/news/276912.html

相关文章:

  • 接口测试到底怎么做,5分钟时间看完这篇文章彻底搞清楚
  • 显示管理磁盘分区 fdisk
  • Hyperledger Fabric 管理链码 peer lifecycle chaincode 指令使用
  • L1-011 A-B(Java)
  • 系列七、Ribbon
  • 山东名岳轩印刷包装携专业包装袋盛装亮相2024济南生物发酵展
  • BGP公认必遵属性——Next-hop(一)
  • 增强Wi-Fi信号的10种方法,值得去尝试
  • 第十五章 ECMAScript6新增的常用语法
  • vulhub中的Apache SSI 远程命令执行漏洞
  • MSB20M-ASEMI迷你贴片整流桥MSB20M
  • 工程管理系统功能设计与实践:实现高效、透明的工程管理
  • 【C#】网址不进行UrlEncode编码会存在一些问题
  • 深入Pandas(二):高级数据处理技巧
  • 实验8 分析HTTP协议和DNS
  • Talk | EMNLP 2023 最佳长论文:以标签为锚-从信息流动的视角分析上下文学习
  • 2024年中国电子学会青少年编程等级考试安排的通知
  • [足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-2(2) 质量刚体的在坐标系下运动
  • 【亚马逊云科技】自家的AI助手 - Amazon Q
  • 网络安全—SSL安全访问应用
  • Qt5.14.2实现将html文件转换为pdf文件
  • Minecraft教程:使用MCSM面板搭建我的世界私服并实现远程联机
  • springboot学生成绩管理系统源码和论文
  • w20webshell之文件上传
  • 【Redis】非关系型数据库之Redis的主从复制、哨兵和集群高可用
  • 从私有Git仓库的搭建到命令的使用及部署再到分支管理
  • mysql基础-常用函数汇总
  • COCO数据格式的json文件内容
  • AI-数学-高中-3.二次函数的根的分布问题的解题方法
  • golang中gorm使用