美文网首页
Nginx虚拟主机与安全认证实战

Nginx虚拟主机与安全认证实战

作者: javap | 来源:发表于2020-02-03 10:37 被阅读0次

    知识要点:

    配置Nginx虚拟主机实践

    安全认证实践

    安装验证

    Nginx虚拟主机配置讲解

    讲解配置之前我们要了解到什么是虚拟主机
    如果你有两个不同域名的网站,但是你只有一台服务器,这时候怎么办?其实利用nginx或者apache都可以帮你用一台机器来模拟多台机器作为服务器提供服务。虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录。
    先看一个最简单的虚拟主机配置示例

    server { 
        listen 80; #监听80端口
        server_name www.app.com; #虚拟主机 www.app.com
        location / {                   #匹配所有
        index index.html; 
        root /nginx/html/;              #在/nginx/html/下寻找资源
        } 
    }
    

    如果说我们需要配置多台虚拟主机,我们该如何去配置那?

    www.app.com -> /nginx/html
    www.apptest.com ->/nginx/text
    #两个网址指向不同的地址
    server { 
    listen 80; 
    server_name a.test.com; 
    
    #开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启
    autoindex on; 
    
    index index.html; 
    root /nginx/html/; 
    }
    
    server { 
    listen 80; 
    server_name b.test.com; 
    
    index index.html; 
    root /nginx/text/; 
    
    #禁止对self目录的访问
    location /(html)/ { 
    deny all; 
        } 
    }
    

    Http安全认证

    首先我们要确保自己的Nginx是正常运行的!

    [root@localhost local]# ps aux|grep nginx
    root       2156  0.0  0.0  24844   720 ?        Ss   10:08   0:00 nginx: master process ./nginx/sbin/nginx
    nobody     2157  0.0  0.1  27372  1424 ?        S    10:08   0:00 nginx: worker process
    nobody     2158  0.0  0.1  27372  1424 ?        S    10:08   0:00 nginx: worker process
    root       2314  0.0  0.0 112660   968 pts/0    R+   10:09   0:00 grep --color=auto nginx
    [root@localhost local]# 
    

    然后使用htpasswd工具来生成密码,没有的话可以使用yum来进行安装(一般安装过http的话都是默认安装的了)

    yum -y install httpd-tools #安装htpasswd工具 
    cd /etc/nginx/             #切换目录 
    htpasswd -c ./auth muzi    #使用htpasswd命令在当前目录创建一个名为auth的文件,用户为muzi回车后需要输入两次密码 
    more ./auth                #查看auth文件里的内容,有用户名和加密的字符串
    

    配置

    server {    
        listen       80;    
        server_name  localhost;
        auth_basic "Auth access test!input your passward!"; #1,  输入密码前的提示        
        auth_basic_user_file /nginx/auth;                    #2, 密码文件
        #charset koi8-r;    #access_log  
        /var/log/nginx/host.access.log  main;     
        location / {        
            root   /opt/server;        
            index  index.html index.htm;    
            } 
    }
    

    访问页面时会提示输入密码验证用户

    • 如果我们想要匹配的部分资源进行验证那么请把你1 2 两项放入location 匹配你所想要验证的文件 如配置
    • 如果你想要全局加入验证的话请把你的配置文件放入server块中即可
      有关Nginx虚拟主机与安全认证其实就是一个安装配置的过程,在这里分享给大家!

    相关文章

      网友评论

          本文标题:Nginx虚拟主机与安全认证实战

          本文链接:https://www.haomeiwen.com/subject/pdxhxhtx.html