【补档】Nginx 学习(二)处理用户仅使用 IP 访问时服务器返回 SSL 证书泄露域名等问题
本文最后更新于 622 天前,其中的信息可能已经有所发展或是发生改变。

给网站套上 Cloudflare 防止被打和缓存部分静态文件应该是常规操作了,但是想起来之前好像见到过的帖子:第一次知道 HTTPS 会暴露服务器 IP,在新的服务器上试验了一下发现在访问 [https:// 服务器 IP]() 的时候真的会返回 Nginx 配置中的第一封 SSL 证书而泄露域名,在这种全网扫 IP 成本极低的年代真的是很危险......于是还是决定稍作配置以排除掉这个危险因素。


1、80 端口常规配置
在用户用 IP 直接访问时返回 500 错误。

    # ========= 基础配置 =========
    # 禁止 IP 直接访问
    server {
        listen      80;
        listen      [::]:80;
        server_name _;

        location / {
            return      500;
        }
    }

直接访问 http:// 服务器 IP:80 端口效果:

2、443 端口配置
参考文章:【小教程】Nginx 默认拒绝发送证书设置教程

    # 防止发送 SSL 证书
    server {
        listen      443 ssl http2 default_server;
        server_name _;

        ssl_protocols           TLSv1.2 TLSv1.3;
        # 启用拒绝 TLS 握手
        ssl_reject_handshake    on;
        # SSL Session 缓存,不设置的话无缓存配置不生效
        ssl_session_cache       shared:SSL:10m;
        ssl_session_timeout     10m;

        # log 位置自行替换
        access_log  /rab/log/nginx/access.log;
    }

这样配置之后的访问效果:


ERR_SSL_UNRECOGNIZED_NAME_ALERT 就是我们想要的效果。

至此配置结束。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇