The server of Nginx(二)——Nginx访问控制和虚拟主机

一、Nginx访问控制

(1)基于授权的访问控制

  Nginx于Apache一样,可以实现基于用户授权的访问控制,当客户端要访问相应网站或者目录时要求输入用户名密码才能正常访问,配置步骤与Apache基本一致

  第一步:生成用户密码认证文件,使用htpasswd生成用户认证文件,如果没有该命令,可使用yum安装httpd-tools软件包,用法与之前讲解Apache认证时一样

~]#htpasswd  -c  /usr/local/nginx/passwd.db   test   #回车后会让输入两次密码

  修改密码文件的权限为400,将所有者改为nginx,使nginx的运行用户能够读取

~]#chmod 400  /usr/local/nginx/passwd.db
~]#chown nginx /usr/local/nginx/passwd.db

  第二步:修改主配置文件对应目录,添加认证配置项auth项,检查语法,重启

1 server { ...
2   local / {
3      root  html;
4     index  index.html  index.php;
5     auth_basic "secret";
6     auth_basic_user_file  /usr/local/nginx/passwd.db;
7 ~]#nginx -t
8 ~]#service nginx reload

(2)基于客户端的访问控制

Nginx基于客户端的访问控制要比Apache简单,规则从上往下匹配,如匹配则停止,不再往下匹配

格式:

deny ip/ip段

allow ip/ip段

例:除了10.1.1.0网段,192.168.1.0网段,剩余所有ip还有192.168.1.1都不能登录

1 location / {
2   root  html;
3   index  index.html  index.php;
4   deny 192.168.1.1;
5   allow 192.168.1.0/24;
6   allow 10.1.1.0/16;
7   deny all;
8   }

二、Nginx虚拟主机

  可以在一台服务器上,创建多个网站,每个虚拟Web站点都有独立的"server{}"配置段,各自监听的IP地址、端口号可以单独指定,当然网站名称也是不同的

  Nginx支持的虚拟主机有三种:基于域名、基于IP、基于端口

(1)基于域名的虚拟主机搭建(最常用90%以上都用这种)

①为www.bt.com 和 www.test.com准备域名解析,可修改hosts文件

②准备各网站的网站目录及测试首页

~]#mkdir -p /var/www/html/btcom  testcom

③在两个文件夹里创建index.html

④修改nginx.conf,配置两个 "server{}"区域(注意红色字体是我们要注意的)

 1 server {
 2   listen    80;
 3   server_name  www.test.com;
 4   charset utf-8;
 5   access_log  logs/www.test.log  main;
 6   location  /  {
 7       root  /var/www/html/testcom;
 8       index  index.html  index.htm;
 9   }
10   error_page  500 502  503 504  /50x.html;
11   location = /50x.html {
12       root   html;
13   }
14 }

⑤以域名访问两个网站

(2)基于IP的虚拟主机搭建(IP太贵了,不常用)

①准备多个IP地址,可使用子接口或者多网卡

例如:ifconfig  eth0:0 192.168.1.2/24   设置子接口网址

②准备各网站的目录及测试首页

③修改nginx.conf,配置两个 "server{}"区域(注意红色字体是我们要注意的,注意对比区别)

 1 server {
 2   listen    192.168.1.2:80;
 3   server_name  192.168.1.2;
 4   charset utf-8;
 5   access_log  logs/www.test.log  main;
 6   location  /  {
 7       root  /var/www/html/testcom;
 8       index  index.html  index.htm;
 9   }
10   error_page  500 502  503 504  /50x.html;
11   location = /50x.html {
12       root   html;
13   }
14 }

④以IP地址访问两个网站

(3)基于端口的虚拟主机搭建(公司内部测试使用较多)

①选择端口,选择系统中不用的端口

②准备各网站的目录及测试首页

③视情况准备域名解析,根据配置文件里判断是否要解析

④修改nginx.conf,配置两个 "server{}"区域(注意红色字体是我们要注意的,注意对比区别)

 1 server {
 2   listen    192.168.1.2:81;  #注意:第二个server端口改为81,前面需要用域名登录就把前面的ip地址改为域名
 3   server_name  192.168.1.2;   #注意:根据需要改为域名
 4   charset utf-8;
 5   access_log  logs/www.test.log  main;
 6   location  /  {
 7       root  /var/www/html/testcom;
 8       index  index.html  index.htm;
 9   }
10   error_page  500 502  503 504  /50x.html;
11   location = /50x.html {
12       root   html;
13   }
14 }

⑤以IP地址或者域名访问两个网站,注意输入ip时,后面跟端口号http://192.168.1.2;81

时间: 2024-12-15 06:50:18

The server of Nginx(二)——Nginx访问控制和虚拟主机的相关文章

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 原文地址:http://blog.51cto.com/wbyyy/2087031

nginx之安装、多虚拟主机、反向代理和负载均衡

一.web服务器与web框架 1.web服务器简介 Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过 HTTP(超文本传输协议)或 HTTPS(安全超文本传输协议)把请求的内容传送给用户. 目前能够提供 Web 网络服务的程序有 IIS.Nginx 和 Apache 等.其中,IIS(Internet Information Services,互联网信息服务)是Windows系统中默认的Web服务程序Nginx

基于Nginx搭建Web服务器及虚拟主机相关配置详解

随着计算机与Internet技术的高速发展,各种各样的Web站点也就成为面向用户的中坚力量.在各种网站服务器软件中.除了Apache外,还有一款轻量级的HTTP服务器软件--Nginx. 基于Apache搭建Web服务器可以参考博文:基于Apache搭建Web服务器详解 一.Nginx服务简介 Nginx由俄罗斯的lgor Sysoev开发,专为性能优化而开发,其最知名的优点就是它的稳定性和低系统资源消耗.以及对HTTP并发连接的高处立能力(单台物理服务器可支持30000~50000个并发请求)

Nginx 反向代理 负载均衡 虚拟主机配置

通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常用配置的说明.即学即用,你还在等什么?一睹为快先了解Nginx的三大功能Nginx 可以作为一台http服务器.可以做网站静态服务器,比如图片服务器,高效,减轻服务器压力.同时它也支持https服务.Nginx 可以配置多台虚拟主机.可以实现在一台服务器虚拟出多个网站效果,省钱.Nginx 最重要的是反向代理,负载均衡.在服务器集群中,Ngin

二、 搭建Apache虚拟主机

二. 搭建Apache虚拟主机 1.背景: 虚拟主机:一台web主机配置多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,或者是不同的IP. 假设网站的域名为:52linux.com,网站下面设有 http://www.52linux.com;: http://blog.52linux.com;: http://bbs.52linux.com: 三个站点,这样我们可以在一台apache主机上配置虚拟主机来实现. 通常虚拟主机分为3种: 基于域名,基于端口,基于IP,以及它们的混合

httpd2.2访问控制与虚拟主机配置

httpd2.2访问控制与虚拟主机配置 实验环境:CentOS 6.9 httpd 2.2 基础知识: 站点访问控制    可以基于两种类型的路径指明对那些资源进行访问控制   文件系统路径   <Directory ""> </Direcotry>  <File ""> </File>   <FileMatch ""> </FileMatch>   URL路径:   <

Httpd访问控制、虚拟主机、网页压缩优化

目录 HTTPD访问控制.虚拟主机.网页压缩优化 HTTPD访问控制 HTTPD访问控制的实现 虚拟主机 网页优化之页面压缩 扩展 本实验为前次博客的扩展,有兴趣可以参考HTTP服务安装与配置 HTTPD访问控制.虚拟主机.网页压缩优化 HTTPD访问控制 访问控制:限制客户端可以访问的资源,或限制其不能访问某些资源 分类 基于来源地址(常用) 基于账号 basic基于虚拟账号认证(明文传输需要进行加密) digest信息摘要认证 实现方式 <Directory ""> 内

Nginx作为WEB服务相关配置(性能优化,网络连接,访问控制,虚拟主机,https等等)

编译安装nginx yum -y install pcre-devel groupadd -r nginx useradd -g nginx -r nginx tar xf nginx-1.6.2.tar.gz cd nginx-1.6.2 ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf--user=nginx --group=nginx --error-log-path=/var/log/nginx

构建Nginx服务器之一 安装及虚拟主机配置

一.Nginx简介     Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名. 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括Yandex.