IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx配置学习 -> 正文阅读

[系统运维]Nginx配置学习

最近一直忙着刷面试题,一直都想去学习的,Nginx服务,还有node,耽误了好久。
最近面试题感觉都差不多了,可以一边记,一边学习新的东西了。
以后想养成一个习惯,对一些基础知识的回顾,还有就是对自己写过代码的重新省视

1. Nginx的优势代理服务器

  • 先了解一下,什么不是代理服务器:

就是客户端直接给目标服务器发送请求,会产生跨域

  • 代理服务器的好处,解决跨域

客户端在发送请求时,首先不会向目标主机地址发送,而是发送给代理服务器,代理服务接收到客户端请求之后,再向主机发出,并接收目标主机返回的数据,存放在代理服务器的硬盘中,再发送给客户端。

  • 代理服务器的好处,提高访问速度

目标主机返回的数据,会存放在代理服务器的硬盘中,客户端访问相同站点的数据时,会直接从代理服务器的硬盘中读取,起到了一个缓存数据的作用,这其实就是协商缓存。

  • 代理服务器的好处,防火墙的作用

由于所有的客户端请求都会经过代理服务器,可以在代理服务器上设限制,过滤某些不安全的信息
比如 csrf攻击,我们判断请求的地址,是不是我们客户端的ip地址 请求头字段 referer

  • 代理服务器的好处,访问不能访问的目标站点

访问外网

总结: 正向代理的是客户端,反向代理的是服务端

2. linux服务器 安装 Nginx

快速安装

yum install nginx
nginx -v 查看版本号
rpm -ql nginx 查看Nginx安装的目录
cd /etc/nginx 跳转到Nginx 安装目录下
systemctl enable nginx 设置Nginx的开机启动
systemctl start nginx 启动nginx
跳转到 cd /usr/sbin 然后 ./nginx -s reload 重启nginx
跳转到 cd /usr/local 执行 mkdir home 创建home 目录
把 静态文件 的代码放入到 创建的home 目录下
执行 vim /etc/nginx/nginx.conf 打开 nginx的配置文件
如下配置之后
在这里插入图片描述
执行 cd /usr/sbin 然后 ./nginx -s reload 重启nginx
接下来配置跨域 劫持 /api 的路由,代理到 下面这个域名
在这里插入图片描述
跳转到 cd /usr/sbin 然后 ./nginx -s reload 重启nginx

nginx开启Gzip压缩

cd /etc/nginx/conf.d/
touch gzip.conf
vim gzip.conf 打开了我们创建的文件

这个文件里面输入如下代码,然后重启就可以开启gzip压缩了

	#开启和关闭gzip模式
    gzip on|off;
    #gizp压缩起点,文件大于1k才进行压缩
    gzip_min_length 1k;
    
    # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
    gzip_comp_level 1;
    
    # 进行压缩的文件类型。
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript ;
    
    #nginx对于静态文件的处理模块,开启后会寻找以.gz结尾的文件,直接返回,不会占用cpu进行压缩,如果找不到则不进行压缩
    gzip_static on|off
    
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;

    # 设置压缩所需要的缓冲区大小,以4k为单位,如果文件为7k则申请2*4k的缓冲区 
    gzip_buffers 2 4k;

    # 设置gzip压缩针对的HTTP协议版本
    gzip_http_version 1.1;

nginx防止csrf攻击

valid_referers none referers字段值为空可以访问
valid_referers blocked referers字段值不带有 http 或者 https 可以访问
valid_referers 127.0.0.1 127.0.0.1:80; referers字段值为127.0.0.1 127.0.0.1:80;可以访问
valid_referers none blocked 127.0.0.1 127.0.0.1:80; 这一段代码就是三者任意符合,就可以

$invalid_referer 意思是: referers 值不等于 127.0.0.1 127.0.0.1:80; 就返回403(没有访问权限)

valid_referers 127.0.0.1 127.0.0.1:80;
 if ($invalid_referer) {
	return 403;
}
location /api {
valid_referers none blocked 127.0.0.1 127.0.0.1:80;
if ($invalid_referer) {
return 403;
}

tip : nginx的防止csrf攻击,不是最完美的,可以采用短信验证码,token,cookie设置 SameASite,禁止跨域传递cookie等方法。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:22:23  更:2022-07-04 23:24:12 
 
开发: 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年12日历 -2024/12/29 8:46:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计