首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nginx配置访问密码,输入用户名和密码才能访问

nginx配置访问密码,输入用户名和密码才能访问

作者头像
菲宇
发布于 2019-06-12 08:48:01
发布于 2019-06-12 08:48:01
16.4K00
代码可运行
举报
文章被收录于专栏:菲宇菲宇
运行总次数:0
代码可运行

使用nginx搭建的站点,如果不想让所有人都能正常访问,那么可以设置访问认证,只有用户输入正确的用户名和密码才能正常访问。效果如下:

nginx 开启访问验证

在 nginx 下,提供了 ngx_http_auth_basic_module 模块实现让用户只有输入正确的用户名密码才允许访问web内容。默认情况下,nginx 已经安装了该模块。所以整体的一个过程就是先用第三方工具( htpasswd,或者使用 openssl)设置用户名、密码(其中密码已经加过密),然后保存到文件中,接着在 nginx 配置文件中根据之前事先保存的文件开启访问验证。

以 htpasswd为例

1、安装 htpasswd 工具

[root@master ~]# yum install -y httpd-tools 设置用户名和密码,并把用户名、密码保存到指定文件中: [root@master ~]# mkdir -p /usr/local/src/nginx/ [root@master ~]# htpasswd -c /usr/local/src/nginx/passwd feiyu New password: Re-type new password: Adding password for user feiyu 注意:上面的 /usr/local/src/nginx/passwd 是生成密码文件的路径,然后feiyu 是用户名,你可以根据需要自行设置成其它用户名。运行命令后,会要求你连续输入两次密码。输入成功后,会提示已经为feiyu这个用户添加了密码。 查看下生成的密码文件的内容: [root@master ~]# cat /usr/local/src/nginx/passwd feiyu:$apr1$bj22mciQ$4Rq6U1EnZPyxmDj5X8v1d/ 其中用户名就是feiyu,分号后面就是密码(已经加过密)。

2、修改 nginx 配置文件

找到 nginx 配置文件,因为我们要对整个站点开启验证,所以在配置文件中的第一个server修改如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen 80;
    server_name  localhost;
    .......
    #新增下面两行
    auth_basic "Please input password"; #这里是验证时的提示信息
    auth_basic_user_file /usr/local/src/nginx/passwd;
    location /{
    .......
}

然后重启 nginx: [root@master ~]# ./nginx -t nginx: the configuration file /usr/local/src/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/src/nginx/conf/nginx.conf test is successful [root@master ~]# ./nginx -s reload 以上都配置无误后,你重新访问你的站点,如果出现需要身份验证的弹窗就说明修改成功了。

3、htpasswd 命令

htpasswd选项参数 htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password htpasswd -n[mdps] username htpasswd -nb[mdps] username password htpasswd命令选项参数说明 -c 创建一个加密文件 -n 不更新加密文件,只将htpasswd命令加密后的用户名密码显示在屏幕上 -m 默认htpassswd命令采用MD5算法对密码进行加密 -d htpassswd命令采用CRYPT算法对密码进行加密 -p htpassswd命令不对密码进行进行加密,即明文密码 -s htpassswd命令采用SHA算法对密码进行加密 -b htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码 -D 删除指定的用户 htpasswd例子 a、如何利用htpasswd命令添加用户? htpasswd -bc ./.passwd feiyu pass 在当前目录下生成一个.passwd文件,用户名feiyu,密码:pass,默认采用MD5加密方式 b、如何在原有密码文件中增加下一个用户? htpasswd -b ./.passwd feiyu1 pass 去掉c选项,即可在第一个用户之后添加第二个用户,依此类推 c、如何不更新密码文件,只显示加密后的用户名和密码? htpasswd -nb feiyu pass 不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码 d、如何利用htpasswd命令删除用户名和密码? htpasswd -D .passwd feiyu1 e、如何利用 htpasswd 命令修改密码? htpasswd -D .passwd feiyu1 htpasswd -b .passwd feiyu1 pass

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年09月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
nginx输入用户名密码才能访问的配置方式
如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证。只有让用户输入正确的用户名和密码才能正常访问。效果如下:
用户8965210
2022/01/04
2.4K0
nginx配置访问密码
找到 nginx 配置文件,因为我们要对整个站点开启验证,所以在配置文件中的第一个server修改如下:
吟风者
2021/06/24
1.3K0
Nginx配置用户名密码访问
如果我们在 Nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证。只有让用户输入正确的用户名和密码才能正常访问。效果图如下:
子润先生
2021/07/08
3.6K0
Nginx实现Web页面用户认证配置
使用htpasswd命令创建账户文件,需确保系统安装了httpd-tools才有这个命令。
非著名运维
2022/06/22
9650
Nginx实现Web页面用户认证配置
Nginx环境使用auth_basic密码保护wordpress后台登录界面
说明:现在很多使用wordpress的人,或多或少都会出现后台被登录很多次的现象,运气不好就被进去了,通常大家都会通过修改wp-login文件来保护wordpress后台,但是这种方法有个不方便的地方就是每次WP升级就又要重改一遍,感觉很麻烦,不过使用Nginx的auth_basic基本http验证功能可以保护web目录下的文件,于是我们就可以使用此文件来保护wp-login.php文件,效果就是进入后台之前,还需要验证成功,这样感觉很有效。这里以军哥的lnmp环境为例。
用户8851537
2021/07/26
1.5K0
nginx用户认证与htpasswd命令
最近在搭建ELK,然后ELK的kibana界面想添加一个访问限制,看到kibana有个插件x-pack,本来想用用,发现是收费的,就放弃了,然后就想着想配置下nginx的认证访问来实现简单的访问登陆。
星哥玩云
2022/07/26
1K0
Nginx用户认证配置方法详解(域名/目录)
Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可
习惯说一说
2019/07/08
2.9K0
Nginx 之访问认证
我们都知道,Web 服务器程序部署成功并启动之后,都是可以公开访问的,要想控制成只有部分人可以访问必然需要配置一下访问认证,实现访问认证的方法有很多,主要有两种:Flask-OAuth 和 Nginx,Flask-OAuth 以前讲过,今天我就来讲一下 Nginx 配置访问认证。这里以配置 Scrapyd 的访问认证为例进行讲解。
不可言诉的深渊
2020/02/11
3.2K0
Nginx 之访问认证
Nginx给网站添加用户认证配置( Basic HTTP authentication)
说明:ngx_http_auth_basic_module模块实现让访问者只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道,但是又想让部分人看到。nginx的http a
用户1202364
2018/07/09
16.5K0
nginx访问认证+目目录浏览
在实际工作中,企业中有些网站,要求使用账号和密码才能访问,如网站后台、phpMyAdmin 、Wiki 平台 等 模块ngx_http_auth_basic_module 允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问 模块ngx_http_auth_basic_module 下有两条指令 auth_basic 和 auth_basic_user_file
py3study
2020/03/07
9830
Nginx服务编译安装、日志功能、状态模块及访问认证模式实操
系统环境   [root@web ~]# cat /etc/redhat-release   CentOS release 6.9 (Final)   [root@web ~]# uname -a   Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Nginx介绍   Nginx是一个开源的,支持高性能、高并发的WWW服务器和代理服务软件   官方资料:h
863987322
2018/01/24
1.6K0
Nginx服务编译安装、日志功能、状态模块及访问认证模式实操
Linux基础(day49)
12.6 Nginx安装 Nginx安装目录概要 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz tar zxf nginx-1.12.1.tar.gz ./configure --prefix=/usr/local/nginx make && make install vim /etc/init.d/nginx //复制如下内容(参考https://coding.net/u/aminglinux/p/amingli
运维小白
2018/02/06
1.1K0
Keepalived
使用Keepalived来解决,Keepalived 软件由 C 编写的,最初是专为 LVS 负载均衡软件设计的,Keepalived 软件主要是通过 VRRP 协议实现高可用功能。
大忽悠爱学习
2021/12/07
7320
Keepalived
12.8 Nginx用户认证
Nginx用户认证目录概要 vim /usr/local/nginx/conf/vhost/test.com.conf//写入如下内容 server { listen 80; server_name test.com; index index.html index.htm index.php; root /data/wwwroot/test.com; location / { auth_basic "Aut
运维小白
2018/02/06
1.3K0
部署Nginx网站服务实现访问状态统计以及访问控制功能
Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求。
Java帮帮
2019/01/09
1.4K0
如何为Nginx配置HTTP基本认证?
在某些情况下,我们希望对服务器上的一些资源进行限制,例如服务器/api路径下的所有资源,必须先进行身份验证然后才能访问资源,对于这个需求我们可以通过 HTTP Basic authentication 协议来完成,Nginx 使用 ngx_http_auth_basic_module 模块支持 HTTP基本身份验证 功能 。
用户1560186
2019/11/19
8.9K0
11.18 Apache用户认证
httpd的用户认证目录 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容 <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com <Directory /data/wwwroot/www.123.com> //指定认证的目录 AllowOverride AuthConfig //这个相当于打开
运维小白
2018/02/06
8030
nginx配置网站访问密码
有时候我们需要对网站的访问进行权限认证。普遍的做法是做一个登录验证功能,可如果是静态博客,就没办法通过后端程序进行验证。这种情况下,可以用nginx的 ngx_http_auth_basic_module 模块进行登录验证。
章鱼喵
2019/08/24
2.4K0
Nginx学习之静态文件服务器配置
在Java开发过程以及生产环境中,最常用的web应用服务器当属Tomcat,尽管这只猫也能够处理一些静态请求,例如图片、html、样式文件等,但是效率并不是那么尽人意。所以在生产环境中,我们一般使用Nginx代理服务器来处理静态文件,来提升网站性能。 基本配置 server { listen 80; server_name file.52itstyle.com; charset utf-8; #root 指令用来指定文件在服务器上的基路
小柒2012
2018/04/13
3K0
Nginx学习之静态文件服务器配置
LNMP环境下Nginx配置
在早期的Linux服务器上,一个服务器只能运行一个网站,也就是只能跑一个域名。但随着技术的发展,一个服务器上可以跑多个域名了,这样可以帮我们节省了成本。其实这里的服务器就叫做主机,早期一个主机只能跑一个站点,而现在不同了,一个主机可以跑多个站点,多以就有了虚拟主机的概念。“虚拟主机”的概念说明白了,我想大家应该就知道默认虚拟主机的一次概念了。通俗的说就是:任何一个域名指向这台服务器,只要是没有对应的虚拟主机,就会由这个默认虚拟默认虚拟主机来处理。
刘銮奕
2019/07/30
1.4K0
相关推荐
nginx输入用户名密码才能访问的配置方式
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档