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

createh510小时前技术教程3

在 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 错误,即是配置成功。

相关文章

部署Nginx-一个ip,多个域名,部署多个项目

一、背景无论是在centos、ubuntu、iis等云服务器,还是在个人的电脑上,当部署Nginx时,基本上都会遇到想用一台服务器(只有一个IP)映射到多个域名上,以供访问多个不同的前端项目的情况(这...

搭建nginx反向代理用作内网域名转发

情景由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口。非80端...

要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...

Nginx域名配置

对于想搭建自己博客或者其他个人网站的小伙伴,可能会需要配置域名。在我们购买完服务器,代码敲完,项目搞定,怎么使用域名访问呢?首先购买域名(要有DNS解析)-> 然后域名备案与审核 -> 最...

使用nginx配置动态域名解析

使用nginx配置来达到动态域名解析,resolver指令设置解析器的地址using-nginx-map-directive-to-dynamically-set-proxy-upstream要使用...