Nginx服务器中为网站或目录添加认证密码的配置详解

一、认证密码配置基本概念

Nginx服务器中配置认证密码,通俗讲就是为特定的网站或目录设置访问密码,在用户想要访问这个网站或目录的时候需要输入用户名和密码才能够进入。这种配置方式的好处在于能够大幅度增强服务器的安全性,只有授权的用户才能够进入网站或目录,保证数据的安全性和完整性。

要在Nginx服务器中添加认证密码,需要在nginx.conf文件中添加如下几行代码:

location /{
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/htpasswd;
}

其中,location代表需要添加认证密码的网站或目录,auth_basic设置提示信息,例如本例中的"Restricted",auth_basic_user_file指定存储用户名和密码的文件所在的路径。

二、添加认证密码的配置详解

  1. 创建用于存储用户名和密码数据的htpasswd文件

首先,需要创建一个用于存储用户名和密码数据的htpasswd文件,可以在Linux命令行中输入如下命令:

sudo htpasswd -c /etc/nginx/htpasswd username

其中,-c表示要创建的文件是第一次创建的,/etc/nginx/htpasswd是指文件存储路径,username是要创建的用户名。输入以上命令后会提示输入密码,密码输入完毕后htpasswd文件中就记录了该用户的用户名和加密后的密码信息。

  1. 配置Nginx服务器

在nginx.conf文件中添加如下代码:

server {
    listen 80;
    server_name example.com;
    location / {
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/htpasswd;
    }
}

以上代码指定了服务器监听的端口和域名,以及需要添加认证密码的网站或目录。

  1. 重启Nginx服务器

完成以上两步操作后,需要重启Nginx服务器,使配置生效。在Linux命令行中输入如下命令即可重启Nginx服务器:

sudo systemctl restart nginx

三、示例说明

  1. 给整个网站添加认证密码

假设现在需要给域名为example.com的整个网站添加认证密码,则可以按照以上“添加认证密码的配置详解”中的步骤进行操作,修改server代码块,如下所示:

server {
    listen 80;
    server_name example.com;
    location / {
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/htpasswd;
    }
}
  1. 给某个目录添加认证密码

假设现在需要给example.com域名下的/test目录添加认证密码,则可以按照以上“添加认证密码的配置详解”中的步骤进行操作,修改server代码块,如下所示:

server {
    listen 80;
    server_name example.com;
    location /test {
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/htpasswd;
    }
}

以上示例中,location指定了需要添加认证密码的/test目录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx服务器中为网站或目录添加认证密码的配置详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Docker部署vue+nginx项目

    1.获取nginx镜像 docker pull nginx    2.打包vue项目 项目根目录下cmd并输入 npm run build 打包后生成dist文件  3.上传linux服务 将生成的dist文件上传至linux服务器。本例中保存在/usr/web-expert中,   4.添加Dockerfile文件 在web-expert文件夹内,和dis…

    Nginx 2023年4月13日
    00
  • nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决

    学习nginx http://www.nginx.cn/nginx-how-to  Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意;今天遇到了这样一个问题,tomcat中路径“host/web1”,nginx中直接“host/”代理,这时候session就无法正常进行了。 问题描述: 登录后. 跳转http://127.0.0.1:8…

    Nginx 2023年4月13日
    00
  • 如何配置Nginx的FastCGI代理?

    当使用FastCGI作为Web服务器和应用程序之间的通信协议时,可以考虑使用Nginx的FastCGI代理来运行应用程序,提高应用程序的性能和安全性。 以下是如何配置Nginx的FastCGI代理的攻略: 步骤1:安装Nginx 首先要确保系统中已经安装了Nginx。如果没有安装,可以使用类似apt-get、yum等包管理器进行安装。在Ubuntu系统中,可…

    Nginx 2023年4月19日
    00
  • nginx常见面试题

    问题1:Nginx是用来干嘛的? Nginx是一个高性能的HTTP和反向代理服务器,这个基本是用来前端服务器集群后做负载均衡和动静分离用的。 负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中。 用于HTTP、HTTPS、SMTP、POP3和IMAP协议。 问题2:负载均衡原理 Nginx是通过反向代理实现的负载均衡。 什么是正向代理与反向代理? 正向…

    Nginx 2023年4月11日
    00
  • Nginx geo模块

    L79       geo 模块默认编译进nginx 可以通过–without-http_geo_module禁用  Syntax: geo [$address] $variable { … } Default: — Context: http         1:如果geo指令后不输入$address 那么默认就使用变量$remite_addr作为i…

    Nginx 2023年4月13日
    00
  • nginx转发php文件到php-fpm服务器提示502错误

    实验将php文件转发给另一个php-fpm服务器处理的时候,出现了502错误: 检查了nginx错误日志,提示:   2019/08/25 17:54:56 [error] 4742#0: *35 recv() failed (104: Connection reset by peer) while reading response header from …

    Nginx 2023年4月11日
    00
  • Linux服务器下安装配置Nginx的教程

    下面是我为你提供的“Linux服务器下安装配置Nginx的教程”的完整攻略: 准备工作 首先,在开始安装配置Nginx之前,你需要按照以下步骤完成相关的准备工作: 确认系统版本 确认你所使用的系统版本是否基于Debian或者Ubuntu,可以通过以下命令获取: lsb_release -a 安装必要的支持软件 在安装Nginx之前,你还需要安装一些必要的支持…

    Nginx 2023年5月16日
    00
  • nginx1.16.1平滑升级到1.18

    系统环境:redhat7.6  nginx版本:nginx1.16.1 1、到官网查看最新稳定版的安装包 http://nginx.org/en/download.html 2、查看已经安装nginx的版本以及安装模块 [dip@dip007 nginx]$ /user/local/nginx/sbin/nginx -Vnginx version: ngin…

    Nginx 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部