centos 7 配置nginx基础配置 默认网站 访问控制 用户验证
一、默认网站
主配置文件中一个server 项目就是默认的网站
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#下面也可以写完整的路径/usr/local/nginx/html
root html;
index index.html index.htm;
}
error_page 404 /404.html;
#这里定义了一个404的页面 去建立一个 /usr/local/nginx/logs/
location = /404.html {
root html;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
二、nginx 访问控制
上面的配置不变
主配置文件 再定义一个 location 在上面的error_page 404 上一行开始添加
下面表示以列表的形式显示A这个目录的文件 (去html/a下面建立几个文件)允许10.10.154.0这个网段的
拒绝其他所有的 给不能访问的用户 返回一个404错误页面 也可以返回一个站点www.jd.com
示例1
location /a {
autoindex on;
allow 10.10.154.0/24 ;
deny all ;
if ( $remote_addr !~ "10.10.154" ) {
return 404;
#return http://www.jd.com;
}
}
示例2
允许所有 禁止某一IP(受到攻-击时候使用)
location /a {
autoindex on;
deny 10.10.154.25/32 ;
allow all ;
if ( $remote_addr ~ "10.10.154.25" ) {
#return 404;
return http://www.jd.com;
}
}
3.nginx用户验证
(对某些目录进行设置 例如根目录或者子目录 需要用户名 密-码)
首先下载一个生成密-码文件的工具
yum -y install httpd-devel
建立一个c目录 做测试
mkdir /usr/local/nginx/html/c
建立一个文件 做测试
echo CCCCCC > /usr/local/nginx/html/c/index.html
建立两个用户 注意参数第一次是-cm 以后是-m
密-码文件保存的路径是/usr/local/nginx/htpasswd
htpasswd -cm /usr/local/nginx/htpasswd woaini
htpasswd -m /usr/local/nginx/htpasswd hahaha
#使用密-码登录 并且只允许10.10.154.0网络访问 其他都禁止
location /c {
auth_basic "登录验证";
auth_basic_user_file /usr/local/nginx/htpasswd;
allow 10.10.154.0/24;
deny all;
}