访问控制根据

访问控制根据,第1张

nginx访问控制的实现示例

本文主要介绍nginx访问控制的实现实例,通过实例代码非常详细的介绍,对大家的学习或者工作有一定的参考价值。有需要的朋友下面和边肖一起学习。

关于Nginx,一个高性能、轻量级的web服务软件

高稳定性
低系统资源消耗
高处理HTTP并发连接的能力。

单台物理服务器可支持30000~50000个并发请求

环境

  • 一台Linux服务器(192.168.13.128)
  • win10测试机
  • 先分享一下LAMP在Windows上所需的压缩软件包(此处如有问题请参考之前的博客相关文章)

    其次,在Linux上使用远程共享获取文件,挂载到mnt目录

    [root@localhost~]#smbclient-L//192.168.100.3/##远程共享访问 EnterSAMBA\root'spassword: SharenameTypeComment -------------------- LAMP-C7Disk [root@localhost~]#mount.cifs//192.168.100.3/LAMP-C7/mnt##挂载到/mnt目录下

    第三,编译安装Nginx

    1、将源代码包解压到/opt,查看。

    [root@localhost~]#cd/mnt##切换到挂载点目录 [root@localhostmnt]#ls apr-1.6.2.tar.gzDiscuz_X2.5_SC_UTF8.zipLAMP-php5.6.txt apr-util-1.6.0.tar.gzerror.pngmysql-5.6.26.tar.gz awstats-7.6.tar.gzhttpd-2.4.29.tar.bz2nginx-1.12.0.tar.gz cronolog-1.6.2-14.el7.x86_64.rpmkali.jpgphp-5.6.11.tar.bz2 [root@localhostmnt]#tarzxvfnginx-1.12.0.tar.gz-C/opt##解压Nginx源码包到/opt下 [root@localhostmnt]#cd/opt/##切换到解压的目录下 [root@localhostopt]#ls nginx-1.12.0rh

    2.安装编译所需的环境组件包。

    [root@localhostopt]#yum-yinstall\ gcc\//c语言 gcc-c++\//c++语言 pcre-devel\//pcre语言工具 zlib-devel//数据压缩用的函式库

    3.创建程序用户nginx并编译Nginx

    [root@localhostopt]#useradd-M-s/sbin/nologinnginx##创建程序用户,安全不可登陆状态 [root@localhostopt]#idnginx uid=1001(nginx)gid=1001(nginx)组=1001(nginx) [root@localhostopt]#cdnginx-1.12.0/##切换到nginx目录下 [root@localhostnginx-1.12.0]#./configure\##配置nginx >--prefix=/usr/local/nginx\##安装路径 >--user=nginx\##用户名 >--group=nginx\##用户组 >--with-http_stub_status_module##状态统计模块

    4.编译和安装

    [root@localhostnginx-1.12.0]#make##编译 ... [root@localhostnginx-1.12.0]#makeinstall##安装 ...

    5.优化nginx启动脚本以方便系统识别

    [root@localhostnginx]#ln-s/usr/local/nginx/sbin/nginx/usr/local/sbin/##创建软连接让系统识别nginx启动脚本 [root@localhostnginx]#nginx-t##检查配置文件的语法问题 nginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok nginx:configurationfile/usr/local/nginx/conf/nginx.conftestissuccessful [root@localhostnginx]#nginx##开启ngnix [root@localhostnginx]#netstat-ntap|grep80##查看端口,nginx已经开启 tcp000.0.0.0:800.0.0.0:*LISTEN39620/nginx:master [root@localhostnginx]#systemctlstopfirewalld.service##关闭防火墙 [root@localhostnginx]#setenforce0

    6.安装elinks网页测试工具并进行测试。

    [root@localhostnginx]#yuminstallelinks-y##安装elinks软件 [root@localhostnginx]#elinkshttp://localhost##测试nginx网页

    7.服务超载并已关闭。

    [root@localhostnginx]#killall-sQUITnginx##停止或者使用killall-3nginx [root@localhostnginx]#killall-sHUPnginx##重启或者使用killall-1nginx [root@localhostnginx]#nginx##开启

    8.制作管理脚本以方便服务管理的使用。

    [root@localhostnginx]#killall-sQUITnginx##停止或者使用killall-3nginx [root@localhostnginx]#killall-sHUPnginx##重启或者使用killall-1nginx [root@localhostnginx]#nginx##开启

    nginx的访问状态统计

    启用HTTP_STUB_STATUS状态统计模块
    nginx-V可以查看已安装的Nginx是否包含统计模块

    首先,修改nginx配置文件

    [root@localhost~]#cd/usr/local/nginx/conf##切换到配置文件目录 [root@localhostconf]#vimnginx.conf##修改Nginx配置文件 server{ listen80; server_namewww.kgc.com;##指明一个域名 charsetutf-8;##中文字符集 #access_loglogs/host.access.logmain; location/{ roothtml; indexindex.htmlindex.htm; } location/status{##添加状态统计 stub_statuson; access_logoff; }

    其次,安装域名解析的DNS服务器

    1.安装绑定服务。

    [root@localhostconf]#yuminstallbind-y##安装DNS服务

    2.配置主配置文件/etc/named.conf。

    [root@localhostconf]#vim/etc/named.conf##主配置文件 options{ listen-onport53{any;};##将本机监听为所有 listen-on-v6port53{::1;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursing-file"/var/named/data/named.recursing"; secroots-file"/var/named/data/named.secroots"; allow-query{any;};##允许所有

    3.配置区域配置文件(etc/named.rfc1912.zones)

    [root@localhostconf]#vim/etc/named.rfc1912.zones##配置区域配置文件 zone"localhost"IN{##复制模板到下面 typemaster; file"named.localhost"; allow-update{none;}; }; zone"kgc.com"IN{##修改localhost为kgc.com typemaster; file"kgc.com.zone";##创建区域数据配置文件 allow-update{none;}; };

    4.编辑区域数据配置文件(kgc.com.zone)

    [root@localhostconf]#cd/var/named [root@localhostnamed]#cp-pnamed.localhostkgc.com.zone ##复制模板为kgc.com.zone [root@localhostnamed]#vimkgc.com.zone##编辑区域数据配置文件 $TTL1D @INSOA@rname.invalid.( 0;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NS@ A127.0.0.1 wwwINA192.168.13.128##删除ipv6添加域名解析地址为本机

    5.关闭防火墙并打开服务

    [root@localhostnamed]#systemctlstartnamed##开启dns服务 [root@localhostnamed]#systemctlstopfirewalld.service##关闭防火墙 [root@localhostnamed]#setenforce0##关闭增强功能

    6.使用win10测试仪进行测试


    基于授权的访问控制

    配置步骤与Apache基本相同。

    生成用户密码认证文件
    修改主配置文件对相应目录,添加认证配置项
    重启服务,访问测试

    首先,修改主配置文件

    [root@localhost~]#cd/usr/local/nginx/conf##切换到配置文件目录 [root@localhostconf]#vimnginx.conf##修改Nginx配置文件 location/{ auth_basic"secret";##验证类型 auth_basic_user_file/usr/local/nginx/passwd.db;##验证文件路径 roothtml; indexindex.htmlindex.htm; }

    其次,安装httpd-toolsToolkit,设置密码认证文件

    [root@localhostconf]#yuminstallhttpd-tools-y##安装工具包 [root@localhostconf]#htpasswd-c/usr/local/nginx/passwd.dbtest##设置密码认证文件 Newpassword:##输入密码 Re-typenewpassword:##确认密码 Addingpasswordforusertest [root@localhostconf]#cat/usr/local/nginx/passwd.db##查看密码认证文件 test:$apr1$LqqHZeX3$24E7/HeacTVRzKA7nvSgY/ [root@localhostconf]#servicenginxstop##关闭服务 [root@localhostconf]#servicenginxstart##开启服务

    第三,使用win10测试仪进行测试


    这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/774752.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存