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高可用及Keepalived实战 -> 正文阅读

[系统运维]Nginx防盗链和nginx高可用及Keepalived实战

Nginx配置防盗链

防盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终手用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的流量和点击量。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

nginx防盗链配置

为了模拟盗链,在这里让102为服务站点,103为网关服务器,101访问103进行盗链。

101的conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    
    default_type  application/octet-stream;
    
    sendfile        on;
    
    keepalive_timeout  65;
    
 upstream httpds{
    server 192.168.252.103:80;
  }

    server {
        listen       80;
        
        server_name  192.168.252.101;
        
        location / {
	    proxy_pass http://httpds;
            # root   html;
            # index  index.html index.htm;
        }
        
        error_page   500 502 503 504  /50x.html;
        
        location = /50x.html {
            root   html;
        }
    }
}

访问 101
在这里插入图片描述
如果不想被盗链,可以对网关服务器103做如下配置:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    
    default_type  application/octet-stream;
    
    sendfile        on;
    
    keepalive_timeout  65;
    
    server {
        listen       80;
        
        server_name  localhost;
        
        location / {
	proxy_pass http://192.168.252.102:8080;
        }
        location /img{
            root   /usr/local/nginx/html/resource;
            index  index.html index.htm;
        }        
        location /1{
               valid_referers 192.168.252.103;  #valid_referers 指令,配置是否允许 referer 头部以及允许哪些 referer 访问。192.168.8.102不是ip而是域名(去掉http:// 前缀)
            if ($invalid_referer) {  # 注意这里if后要加空格
                return 403; ## 返回错误码
            }
            root   /usr/local/nginx/html/resource;
        }
        
        error_page   500 502 503 504  /50x.html;
        
 
        location = /50x.html {
            root   html;
        }
    }
}

效果如下:
在这里插入图片描述

valid_referers解释

可以同时携带多个参数,表示多个 referer 头部都生效。
参数值

  • none:允许没有 referer 信息的请求访问,即直接通过url访问。
  • blocked:请求头Referer字段不为空(即存在Referer),但是值可以为空(值被代理或者防火墙删除了),并且允许refer不以“http://”或 “https://”开头,通俗点说就是允许“http://”或"https//"以外的请求。
  • server_names:若 referer 中站点域名与 server_name 中本机域名某个匹配,则允许该请求访问
  • 其他字符串类型:检测referer与字符串是否匹配,如果匹配则允许访问,可以采用通配符*
  • 正则表达式:若 referer 的值匹配上了正则,就允许访问

invalid_referer 变量

  • 允许访问时变量值为空
  • 不允许访问时变量值为 1

nginx高可用及Keepalived实战

高可用配置

高可用场景及解决方案

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。所以,Keepalived 一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用功能。

keepalived服务的三个重要功能:

  • 管理LVS负载均衡软件
  • 实现LVS集群节点的健康检查中
  • 作为系统网络服务的高可用性(failover)

安装keepalived

 yum install -y keepalived

安装成功的截图如下:
在这里插入图片描述

keepalived实战

keepalived的配置文件在如下位置:

/etc/keepalived

在该实战中,101为主nginx,102为备用机,首先需要修改101和102的keepalived.conf配置

101的keepalived.conf配置

! Configuration File for keepalived

global_defs {
   router_id LB_102
}

vrrp_instance VI_102 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.252.200
    }
}

使用systemctl start keepalived启动keepalived
在这里插入图片描述
查看ip发现多了虚拟ip192.168.252.200 interface ens33这里的ens33需要和以下位置对应:
在这里插入图片描述

102的keepalived.conf配置

! Configuration File for keepalived

global_defs {
   router_id LB_101
}

vrrp_instance VI_102 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.252.200
    }
}

使用systemctl start keepalived启动keepalived
在这里插入图片描述
测试是否配置成功访问http://192.168.252.200/
在这里插入图片描述

关闭101的机器
在这里插入图片描述
再次访问
在这里插入图片描述

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

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