<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Nginx on 我的个人博客</title>
        <link>https://liangjinzhi.com/tags/nginx/</link>
        <description>Recent content in Nginx on 我的个人博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Thu, 25 Jun 2026 03:01:36 +0000</lastBuildDate><atom:link href="https://liangjinzhi.com/tags/nginx/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Nginx  htpasswd防护</title>
            <link>https://liangjinzhi.com/nginx-htpasswd-generator/</link>
            <pubDate>Thu, 25 Jun 2026 03:01:36 +0000</pubDate>
            <guid>https://liangjinzhi.com/nginx-htpasswd-generator/</guid>
            <description>&lt;p&gt;今天收到腾讯云的告警信息，原来是昨天部署的grafana被漏洞扫描识别到。&lt;/p&gt;&#xA;&lt;figure class=&#34;wp-block-image size-full&#34;&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; width=&#34;355&#34; height=&#34;343&#34; src=&#34;http://jinzhiliang.top/wp-content/uploads/2026/06/image-41.png&#34; alt=&#34;&#34; class=&#34;wp-image-181&#34; srcset=&#34;https://liangjinzhi.com/wp-content/uploads/2026/06/image-41.png 355w, https://liangjinzhi.com/wp-content/uploads/2026/06/image-41-300x290.png 300w&#34; sizes=&#34;auto, (max-width: 355px) 100vw, 355px&#34; /&gt; &lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;1安装必要的工具&#34;&gt;1.安装必要的工具&#xA;&lt;/h2&gt;&lt;p&gt;如果系统提示找不到 &lt;code&gt;htpasswd&lt;/code&gt; 命令，请执行以下命令安装工具包：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install -y apache2-utils&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-生成密码文件&#34;&gt;2. 生成密码文件&#xA;&lt;/h2&gt;&lt;p&gt;在终端执行以下命令（将 &lt;code&gt;your_username&lt;/code&gt; 替换为你想要设置的登录账号名）：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo htpasswd -c /etc/nginx/.htpasswd your_username&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;p&gt;执行后，系统会提示你输入两次密码。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：在输入密码时，终端不会显示任何字符（包括星号），这是正常的 Linux 安全机制。输完按回车即可。&lt;/p&gt;&#xA;&lt;h2 id=&#34;3-验证文件是否生成&#34;&gt;3. 验证文件是否生成&#xA;&lt;/h2&gt;&lt;p&gt;你可以查看一下文件内容，确保它已经生成：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;cat /etc/nginx/.htpasswd&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;4在-nginx-中启用&#34;&gt;4.在 Nginx 中启用&#xA;&lt;/h2&gt;&lt;p&gt;在nginx 在 &lt;code&gt;location /&lt;/code&gt; 段落内添加如下内容添加如下：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;auth_basic &amp;ldquo;Restricted Access&amp;rdquo;;&#xA;auth_basic_user_file /etc/nginx/.htpasswd;&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;5重启-nginx-使配置生效&#34;&gt;5.重启 Nginx 使配置生效&#xA;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;sudo nginx -t      # 检查配置语法是否正确&#xA;sudo systemctl reload nginx&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;6验证&#34;&gt;6.验证 &lt;figure class=&#34;wp-block-image size-large&#34;&gt;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; width=&#34;1024&#34; height=&#34;177&#34; src=&#34;http://jinzhiliang.top/wp-content/uploads/2026/06/image-42-1024x177.png&#34; alt=&#34;&#34; class=&#34;wp-image-182&#34; srcset=&#34;https://liangjinzhi.com/wp-content/uploads/2026/06/image-42-1024x177.png 1024w, https://liangjinzhi.com/wp-content/uploads/2026/06/image-42-300x52.png 300w, https://liangjinzhi.com/wp-content/uploads/2026/06/image-42-768x133.png 768w, https://liangjinzhi.com/wp-content/uploads/2026/06/image-42.png 1259w&#34; sizes=&#34;auto, (max-width: 1024px) 100vw, 1024px&#34; /&gt; &lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;命令解析&#34;&gt;命令解析：&#xA;&lt;/h3&gt;&lt;ul class=&#34;wp-block-list&#34;&gt;&#xA;  &lt;li&gt;&#xA;    &lt;code&gt;-I&lt;/code&gt;：只获取 HTTP 头信息（快速查看，不下载网页内容）。&#xA;  &lt;/li&gt;&#xA;  &lt;li&gt;&#xA;    &lt;code&gt;-L&lt;/code&gt;：跟随重定向（如果服务器返回 301/302，它会自动追踪最终到达的页面）。&#xA;  &lt;/li&gt;&#xA;  &lt;li&gt;&#xA;    &lt;code&gt;-w&lt;/code&gt;：输出更详细的状态码和内容类型。&#xA;  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;当浏览器收到 &lt;code&gt;401 Unauthorized&lt;/code&gt; 和 &lt;code&gt;WWW-Authenticate&lt;/code&gt; 头部时，意味着 Nginx 已经成功接管了该服务的入口。任何自动化扫描器或攻击者在访问该域名时，只会收到这个“未授权”的信号，根本无法触发后面的 Grafana 业务逻辑，也无法探测到具体的服务指纹。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
