Nginx网站服务配置(二)

简介: 1、编译安装Nginx服务2、认识Nginx服务的主配置文件nginx.conf3、访问状态统计配置4、基于授权的访问控制5、基于客户端的访问控制6、基于域名的Nginx的虚拟主机7、基于 IP 的Nginx的虚拟主机8、基于端口的Nginx的虚拟主机

4、基于授权的的访问控制:


a)生成用户密码认证文件

yum install -y httpd-tools
htpasswd -c /usr/local/nginx/passwd.db zhangsan
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db

c1.pngc2.png

b)修改主配置文件相对应目录,添加认证配置项

vim /usr/local/nginx/conf/nginx.conf
......
    server {
        location / {
            ......
            ##添加认证配置##
            auth_basic "secret";
            auth_basic_user_file /usr/local/nginx/passwd.db;
        }
    }


c3.png


c)重启服务,访问测试

nginx -t
systemctl restart nginx
浏览器访问 http://20.0.0.20或www.lvbu.com


c4.pngc5.png


5、基于客户端的访问控制:


访问控制规则如下:

deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。

allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。

规则从上往下执行,如匹配则停止,不再往下匹配。


vim /usr/local/nginx/conf/nginx.conf
......
    server {
        location / {
            ......
            ##添加控制规则##
            deny 20.0.0.100;                    #拒绝访问的客户端 IP
            allow all;                              #允许其它IP客户端访问
        }
    }
systemctl restart nginx


c6.pngc7.pngc8.png


6、基于域名的Nginx虚拟主机:


a)为虚拟主机提供域名解析

echo "20.0.0.14 www.lvbu.com www.accp.com" >> /etc/hosts

b)为虚拟主机准备网页文档

mkdir -p /var/www/html/lvbu
mkdir -p /var/www/html/accp
echo "<h1>www.lvbu.com</h1>" > /var/www/html/lvbu/index.html
echo "<h1>www.accp.com</h1>" > /var/www/html/accp/index.html

c9.png


c)修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 80;
        server_name www.lvbu.com;                   #设置域名www.lvbu.com
        charset utf-8;
        access_log logs/www.lvbu.access.log;
        location / {
            root /var/www/html/lvbu;                    #设置www.lvbu.com 的工作目录
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
    server {
        listen 80;
        server_name www.caocao.com;                 #设置域名www.caocao.com
        charset utf-8;
        access_log logs/www.caocao.access.log;
        location / {
            root /var/www/html/caocao;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }  
}


c10.pngc11.pngc12.png


7、基于IP的Nginx的虚拟主机:


ifconfig ens33:0 20.0.0.21 netmask 255.255.255.0
vim /usr/local/nginx/conf/nginx.conf
......
http {
......
server {
        listen 20.0.0.20:80;                    #设置监听地址
        server_name www.lvbu.com;
        charset utf-8;
        access_log logs/www.lvbu.access.log;
        location / {
            root /var/www/html/lvbu;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
server {
    listen 20.0.0.20:80;                    #设置监听地址
    server_name www.caocao.com;
    charset utf-8;
    access_log logs/www.caocao.access.log;
    location / {
        root /var/www/html/caocao;
        index index.html index.php;
    }
    error_page 500 502 503 504 /50x.html;
    location = 50x.html{
        root html;
    }
}  
}
systemctl restart nginx


c13.png


8、基于端口的Nginx的虚拟主机:

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 20.0.0.17:666;                   #设置监听 666 端口
        server_name www.lvbu.com;
        charset utf-8;
        access_log logs/www.lvbu.access.log;
        location / {
            root /var/www/html/lvbu;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
server {
    listen 20.0.0.21:888;                   #设置监听 888 端口
    server_name www.accp.com;
    charset utf-8;
    access_log logs/www.caocao.access.log;
    location / {
        root /var/www/html/accp;
        index index.html index.php;
    }
    error_page 500 502 503 504 /50x.html;
    location = 50x.html{
        root html;
      }
  }
}<br><br><br><br>systemctl restart nginx

c15.png


相关文章
|
4天前
|
应用服务中间件 Apache nginx
apache、nginx开启rewrite重写服务及伪静态
apache、nginx开启rewrite重写服务及伪静态
18 4
|
5天前
|
前端开发 Java 应用服务中间件
若依分离板nginx配置
若依分离板nginx配置
12 1
|
8天前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
74 3
|
10天前
|
应用服务中间件 Linux 定位技术
配置和管理Nginx服务
配置和管理Nginx服务
22 4
|
10天前
|
缓存 运维 应用服务中间件
理解和正确配置 Nginx 的 `location` 块是使用 Nginx 时至关重要的一部分
理解和正确配置 Nginx 的 `location` 块是使用 Nginx 时至关重要的一部分
20 2
|
12天前
|
缓存 Ubuntu 应用服务中间件
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
|
20天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎产品使用合集之Web函数启动的Spring Boot项目可以通过什么方式配置Nginx
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
3天前
|
缓存 负载均衡 应用服务中间件
技术笔记:Nginx配置详解
技术笔记:Nginx配置详解
|
3天前
|
前端开发 Unix 应用服务中间件
程序员必知:【HAVENT原创】nginx配置
程序员必知:【HAVENT原创】nginx配置
|
3天前
|
前端开发 Unix 应用服务中间件
程序员必知:【HAVENT原创】nginx配置
程序员必知:【HAVENT原创】nginx配置