知识要点:
配置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虚拟主机与安全认证其实就是一个安装配置的过程,在这里分享给大家!
网友评论