Nginx基础模块使用

1、nginx用户认证

对某一个目录进行匹配验证,如对/uc_server/目录访问时的用户认证。当目录下有php文件时,需要增加对php解析的配置。
生成密码文件:

htpasswd -c -m /usr/local/nginx/conf/htpasswd test

这样就添加了test用户,第一次添加时需要加-c参数,第二次添加时不需要-c参数,在nginx的虚拟主机配置文件(/usr/local/nginx/conf/vhosts/*.conf)中添加如下配置:
.

location /uc_server/ {
                                  auth_basic            "Auth";
                                  auth_basic_user_file    /usr/lcoal/nginx/conf/htpasswd;
                                  include fastcgi_params;
                                  fastcgi_pass unix:/tmp/php-fcgi.sock;
                                  fastcgi_index index.php;
                                  fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
                                }

这样就会把请求/uc_server/的访问给限制了,只有输入用户名和密码才可以继续访问,基本上和apache的配置类似。

htpasswd工具需要安装http,直接使用yum install httpd
以下是针对用户管理后台进行用户认证配置:
Nginx基础模块使用

2、nginx域名跳转

在虚拟主机配置文件(/usr/local/nginx/conf/vhosts/*.conf)进行域名跳转配置:

if ($host!='www.a.com') {
rewrite ^/(.*)$ http://www.a.com/$1 permanent;
}

Nginx基础模块使用

3、 nginx不记录指定文件类型日志、配置静态文件过期时间

在nginx.conf的日志相关配置
①日志的格式
在nginx.conf中定义日志的格式。配置如下:
log_format main '$remote_addr - $remote_user [$time_local] $request'
                           '"$status" $body_bytes_sent "$http_referer"'
                           '"$http_user_agent" "$http_x_forwarded_for"';

下面的日志格式,会记录代理的ip和真实客户端真实ip,建议可以使用如下配置:
log_format main '$proxy_add_x_forwarded_for - $remote_user [time_local]'
                           '"$request" $status $body_bytes_sent'
                           '"$http_referer" "$http_user_agent"';

②错误日志error_log日志级别
error_log级别分为:debug,info,notice,warn,error,crit
默认为crit,该级别在日志名后边定义格式如下:
error_log /your/path/error.log crit;

③某些类型的文件不记录日志
这个就比Apache要简单得多,配置如下:
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
{
expires 30d;       //配置图片缓存时间
access_log off;    //表示不记录gif|jpg等类型文件
}

location ~ .*\.(js|css)$
{
     expires 12h;     //配置图片缓存时间
     access_log off;
}

★★★过期时间指的是图片会在浏览器存储指定时间,超过这个时间就会重新刷新,配置缓存的目的是为了
让网站的访问速度更加快,节省带宽。

4、nginx配置防盗链

location ~.*\.(gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$
{
               expires 30d;       //配置图片缓存时间
               access_log off;    //表示不记录gif|jpg等类型文件
               valid_referers none blocked servernames *.taobao.com *.baidu.com *.google.com;
               if ($invalid_referer )
               {
                        return 403;
                        rewirte ^/http://www.example.com/nophoto.gif;
               }
}

valid_referers是可用的来源链,none bolocked server_names是不进行防盗的主机域名,加起来是对于这些可用的链接不进行拦截而是加入白名单。
$invalid_referer,这里用$作为一个变量,变量名是不可用的来源链,和可用的正好相反
盗用我们图片的人访问这些图片时会跳转到http://www.example.com/nophoto.gif,也可以直接显示403,这样更节省资源。

5、nginx访问控制

限制只让某个ip访问,加如下配置:
allow        192.168.1.101;
deny         all;
禁止某个ip或者ip段访问站点的设置方法,首先建立下面的配置文件放在nginx的conf目录下面,命名deny.ip
cat deny.ip
deny   192.168.1.11;
deny   192.168.1.123;
deny   10.0.1.0/24;
在对应的虚拟主机配置文件中加入:
include deny.ip;
重启一下nginx服务:
# /usr/local/nginx/sbin/nginx reload
deny.ip的格式中也可以用deny all;
如果像实现这样的应用,除了几个ip外,其他的全部拒绝,那你需要在deny.ip中这样写
allow 1.1.1.1;
allow 1.1.1.2;
deny all;
有时候会根据目录来限制php解析:
location ~ .* (diy|template|attachements|forumdata|attachment|image)/.*\.php$
{
        deny all;
}

--------------------------------------------------------------------------------------------------------
视频内容:
针对admin.php进行访问控制设置,只允许本机进行访问,需要用location匹配规则进行设置,如下:

Nginx基础模块使用

对于整个网站的全局配置,只需要在虚拟主机配置文件中增加规则即可,如下:

Nginx基础模块使用

针对整个网段进行访问控制配置:

Nginx基础模块使用

6、生成SSL密钥加密网站

SSL加密网站的核心技术是非对称生成密钥
--公钥、私钥、证书
# openssl genrsa -out cert.key 2048     //生成私钥
# openssl req -new -x509 -key cert.key -out cert.pem     //生成证书
# cp {cert.key,cert.pem} /usr/local/nginx/conf/       //拷贝证书

SSL加密网站
server {                                                                   //定义虚拟主机
            listen    443;
            server_name  www.test.com;
            ssl on;                                                         //开启SSL
            ssl_certificate    cert.pem;                          //指定证书文件
            ssl_certficate     cert.key;                           //指定私钥文件
            ssl_session_timeout 5m;
            ssl_protocols SSLv2 SSLv3 TLSv1;
            ssl_ciphers HIGH:!aNULL:!MD5;
            ssl_perfer_server_ciphers on;
            location / {
            root html;
            index index.html index.htm;
            }
}

转载于:https://blog.51cto.com/jinlong/2088863

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值