在 Nginx 中防止 SSL 证书被其他域名“窜用”

在 Nginx 中防止 SSL 证书被其他域名“窜用”

经验文章nimo972025-06-07 17:09:033A+A-

在 Nginx 中防止 SSL 证书被其他域名“窜用”(即防止未经授权的域名使用你的 SSL 证书),需要确保你的服务器配置只允许合法域名访问,并通过适当的配置阻止非法域名的 HTTPS 请求。

一般情况下,将多个域名绑定到该服务器(默认页)后,直接通过 http 方式可以正常访问。可以再通过配置,以支持 https 方式访问,但是,配置 ssl 证书,不方便,也没有必要。可是,若不配置 ssl,则会出现窜站的情况。如下图:

在 Nginx 配置中,明确指定 server_name 指令,确保服务器只响应特定域名的请求。对于其他未配置的域名,可以设置一个默认的 server 块来拒绝访问。

1、进入 nginx 配置目录:

cd /usr/local/nginx/conf
mkdir ssl

2、生成自签名证书:

openssl req -x509 -nodes -days 1 -newkey rsa:2048 -keyout ssl/dummy.key -out ssl/dummy.crt -subj "/CN="

3、将下述代码添加到 nginx.conf

server {
    listen 443 default_server ssl;
    server_name _;

    # 使用自签名证书或无效证书
    ssl_certificate ssl/dummy.crt;
    ssl_certificate_key ssl/dummy.key;

    # 直接返回 403 或其他错误
    return 403;
}

4、重启 nginx

nginx -t
systemctl reload nginx

5、访问时,出现 403 错误,即是配置成功。

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7