Web服务器-Nginx的访问控制(一)

51 阅读2分钟

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一大章介绍了Kubernetes的知识,本章节我们进入中间件的讲解,这里会包含很多不同的类型组件,中间件的第一个大类我这里定义的是Web服务器。由于目前使用最广泛的Web服务器是Nginx,所以我们这里的讲解主要以Nginx服务器为主。

我们的Nginx一般用于部署到最前面,用于保护我们的后端服务,但是我们的某些后端服务是没有账号密码,或者有些服务比较重要需要加强认证,而Nginx也给我们提供了一个基本的认证功能。

1.生成密码文件

# 安装 htpasswd 工具(若未安装)
sudo yum install httpd-tools -y

# 创建密码文件(-c 表示新建,-b 允许命令行输入密码)
sudo htpasswd -bc /etc/nginx/.htpasswd user1 password1

# 添加更多用户(省略 -c 参数)
sudo htpasswd -b /etc/nginx/.htpasswd user2 password2

2.配置认证

   #其他配置省略 
    location / {
        auth_basic "Restricted Area";          # 认证提示信息
        auth_basic_user_file /etc/nginx/.htpasswd;  # 密码文件路径
        proxy_pass http://backend_servers; 
        proxy_next_upstream off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

    }

3.访问测试

如果输入错误的密码则会返回403,只有输入正确的账号密码才能访问到对应的内容。

403 Forbidden
nginx/1.20.1

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。