nginx的重定向,防盗链,虚拟主机

本文详细介绍了Nginx的配置与使用,包括如何设置虚拟主机、调整图片缓存过期时间、实现域名重定向、配置HTTPS加密以及防盗链策略。此外,还讲解了如何监控主机状态以及优化大文件传输,提供了丰富的配置示例和测试步骤。
摘要由CSDN通过智能技术生成

一.Nginx

        nginx是一个高性能的http和反向代理服务器,也是一个POP3/SMTP服务器,nginx可以在大多数linux上面编译运行。在高并发连接时,Nginx是Apache服务器不错的替代品。同时nginx也有很多不错的第三方模块(官网:www.nginx.org),nginx的配置文件相比于Apache更加的直观简洁,安装和配置都很便捷,Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。通过对一些全局参数的调优,能对nginx的性能有些许提升,worker_process等参数。nginx支持负载均衡,重定向,虚拟主机,缓存等模块,也可以通过location把请求的类型分到后端的tomcat或者apache服务器。实现动静页面的分流。

二.nginx的虚拟主机

1.nginx的部署

(1)nginx的编译(安装包:nginx-1.14.0.tar.gz)

(2)nginx的安装

make  && make install 

2.虚拟主机的部署

(1)配置nginx的配置文件

charset utf-8;       ##发布文件有中文就添加此参数

server_name       ##访问的域名

root  /redhat;      ##默认发布目录


(2)建立虚拟主机的发布目录和发布文件


(3)在浏览器端做解析(vim  /etc/hosts)

(4)测试

curl -I   域名    ##仅显示请求头信息

3.对图片的缓存设置过期时间

(1)配置文件

(2)测试

验证过期时间(10天之后过期)

三.域名重定向

1.对域名进行加密认证

(1)配置文件的设置

对www.redhat.org域名进行加密

(2)生成加密证书

cd /etc/pki/tls/certs/

make cert.pem   ##生成加密证书

报错(是因为生成的证书文件要和nginx的配置文件在统一目录下,在nginx配置文件中的证书路径是相对路径)

(3)测试(确定风险)

生成的证书信息:

域名自动定向到https://www.redhat.org


2.域名的重定向

(1)nginx的配置文件

(2)测试

3.从一个域名定向到另一个域名(redhat-->linux)

(1)配置文件

(2)测试

4.如果域名后面跟着目录那就直接访问以此目录做域名的网址(这样可以把请求分离开,图片的去访问图片虚拟主机,视频的访问视频的虚拟主机)

(1)配置文件

(2)测试

5.也可以用一些判断语句进行重定向

(1)配置文件

server_name www.linux.org bbs.linux.org;
        if ( $host = "bbs.linux.org" ){

        rewrite ^/(.*)$ http://www.redhat.org/bbs/$1 permanent;       ##如果域名是bbs.linux.org那就永久定向到www.linux.org/bbs/      

permanent(永久定向)   redirect(临时定向)

(2)浏览器端解析


(3)测试

6.把非法域名(没有在配置文件中监听的域名)重定向到一个内部的域名来增加访问量,也可以返回500报错

(1)配置文件

server_name  _;            ##任何域名

(2)浏览器解析


(3)测试

(4)配置文件

(5)测试(重定向到www.linux.org)

四.监控主机的状态

1.配置文件

location /status {
                stub_status on;    ##打开机状态查看的模块
                access_log off;    
                allow 172.25.15.250;     ##访问控制

                deny 172.25.15.0/24;     ##拒绝网段

                 deny all;                      ##拒绝所有,allow优先级高,从上到下一次匹配

2.测试

(1)物理机成功访问

(2)用172.25.78.2主机测试

做本地解析

访问失败,status的访问控制生效

五.对于一些比较的大的文件(比如:视频)

开启aio线程

对于小文件,采用sendfile,减少拷贝;并且对于大文件aio采用directio,避免挤占文件系统缓存,让文件系统缓存更多的小文件,当文件大小超过8M,开启aio线程

六.防盗链(防止别人直接从你网站引用图片等链接,消耗了你的资源和网络流量)

1.对目录

valid_referers none blocked   域名     ##白名单,允许访问的域名

如果访问的域名不在白名单里,那就重定向到防盗链的图片位置

2.对文件

以图片形式结尾的,不在白名单里的域名,返回防盗链的图片位置

3.测试

(1)访问一个IP(172.25.78.2),让其去按照指定的图片URL进行请求

vim /var/www/html/index.html       ##图片URL在www.haha.org/images/hh.png

(2)无法获得站内的图片(以www.haha.org进行访问,不在白名单内会被重定向到防盗链网址)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值