首页> 文章> 详情

nginx 用户基础认证配置

教程分享 > nginx教程 (1216) 2024-04-17 10:25:52

场景描述

某些情况下有些资源需要一个基本的认证才能让用户访问。又不太想开发一个认证流程的东东怎么办呢?

解决办法:通过nginx 配置一个基础的http用户密码认证来解决这个问题

安装nginx

这里不详细介绍如何安装,提供centos一句话安装命令吧

yum install -y nginx

创建nginx访问认证文件

nginx认证文件,该文件主要是存储nginx的认证用户密码信息,其文件格式如下:

admin:r5IXRXWSmlBk6

密码应该使用crypt()函数加密。可以用Apache HTTP Server发行包中的htpasswd命令或者openssl passwd来创建此类文件。

第一种是使用Apache的htpasswd工具创建(感觉很鸡肋都有nginx了我还安装啥Apache)

/opt/apache/bin/htpasswd -bdc /etc/nginx/conf.d/htpasswd admin 12345

命令解释
/opt/apache/bin/htpasswd  htpasswd工具路径
/etc/nginx/conf.d/htpasswd 生成认证文件路径
admin 12345 用户名及密码

第二种使用openssl创建认证文件(由于每个Linux服务器基本都有SSH服务,openssl也就有啦,靠谱)

[root@localhost cert]# openssl passwd 123456
d7FH6kfhAIIFA
[root@localhost cert]# echo 'admin:d7FH6kfhAIIFA' > /etc/nginx/cert/passwd.db
[root@localhost cert]# cat passwd.db 
admin:d7FH6kfhAIIFA
[root@localhost cert]# 

配置nginx访问认证

随便找一个nginx的虚拟访问路径进行配置吧

location / {#对所有地址进行负载均衡
                auth_basic "监控服务";#这里是认证输入用户密码时候弹出的标题
                auth_basic_user_file cert/passwd.db;#这里配置的是密码文件存放路径,相对路径为相对nginx根目录

                proxy_pass http://tomcats-monitor/;
        }#end location


主要配置为:auth_basic 、auth_basic_user_file 

重载配置nginx完成启用认证

nginx -s reload


再访问资源试试?
 

https://www.leftso.com/article/535.html

相关文章
场景描述某些情况下有些资源需要一个基本的认证才能让用户访问
alpineLinux安装nginx更新软件apkupdate安装nginxapkaddnginx查看nginx版本nginx-vnginx启停启动停止servicenginxstop重启ser...
Linux(centos) nginx安装和nginx入门配置方法1.切换至root用户$su - 2.执行在线安装命令#yum install nginx -y 如果上面提示以下内容[root...
打开任务管理器发现一大堆nginx进程
最近网站被恶意访问了,了解了一些基础防护手段,nginx屏蔽ua访问 编写文件agent_deany.conf #使用方法 #创建目录 /etc/nginx/conf.d/deny...
nginx常规使用时作为http协议的反向代理,这里要讲的是非http的Mysql端口代理,理论支持其他协议nginx.conf配置如下:user nginx; worker_process...
最近博客升级总是nginx原生的502页面,感觉有些不友好,特此研究了下502页面的配置nginx 502配置502页面核心配置 #502 page error_...
解决centos系统使用yum安装nginx启动时报错[::]:80 failed (97: Address family not supported by protocol)一般默认的使用yu...
1.新增nginx屏蔽配置文件文件暂时为/etc/nginx/conf.d/deny_ua.config说明:文件名deny_ua.config,后缀为.config非.conf,原因是.con...
nginx开启gzip压缩配置配置参考:server{listen443ssl;server_namet.example.com;#charsetkoi8-r;#access_log/var/l...
Nginx的upstream支持5种 分配方式,其中 轮询、权重、IP散列这三种为Nginx原生支持的分配方式,fair 和 url_hash 为第三方支持的分
nginx 跨域头统一配置 location / { add_header Access-Control-Allow-Origin *; add_header Acces...
nginx代理Tomcat带路径的项目location / {                 proxy_pass http://localhost:8080/v1/;          ...
centos 6 nginx+php7环境配置 做一记录,谨防采矿 $title(php.conf) # # The default server # server { l...
nginx日志默认格式如下:$remote_addr-$remote_user[$time_local]"$request"$status$body_bytes_sent"$http_refer...