Nginx虚拟主机与安全认证

一、Nginx虚拟主机配置

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

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

配置多台虚拟主机

www.lzh.com -> /nginx/html
www.sqq.com ->/nginx/text
#两个网址指向不同的地址
server {
      
listen 80; 
server_name www.lzh.com; 

#开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启
autoindex on; 

index index.html; 
root /nginx/html/; 
}

server {
      
listen 80; 
server_name www.sqq.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   23:08   0:00 nginx: master process ./nginx/sbin/nginx
nobody     2157  0.0  0.1  27372  1424 ?        S    23:08   0:00 nginx: worker process
nobody     2158  0.0  0.1  27372  1424 ?        S    23:08   0:00 nginx: worker process
root       2314  0.0  0.0 112660   968 pts/0    R+   23:09   0:00 grep --color=auto nginx
[root@localhost local]# 

然后使用htpasswd工具来生成密码,没有的话可以使用yum来进行安装

yum -y install httpd-tools #安装htpasswd工具 
cd /etc/nginx/             #切换目录 
htpasswd -c ./auth lzh    #使用htpasswd命令在当前目录创建一个名为auth的文件,用户为lzh回车后需要输入两次密码 
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,java)