Java小强个人技术博客站点    手机版
当前位置: 首页 >> 服务器 >> Windows上配置Nginx开启SSL

Windows上配置Nginx开启SSL

190 服务器 | 2025-12-18

SSL证书是遵循SSL/TLS协议的数字证书,由受信任的数字证书颁发机构(CA)验证服务器身份后颁发,具备身份验证和加密传输功能。该证书通过公钥加密技术建立客户端与服务器的安全通道,防止数据泄露和篡改,包含证书颁发机构、有效期、公钥等信息,并通过域名所有权验证流程完成签发。主要类型包括域名验证型(DV)、组织验证型(OV)和扩展验证型(EV),覆盖单域名、通配符、多域名及代码签名等应用场景。

https.jpg


使用OpenSSL生成证书,所以首先下载OpenSSL

https://www.openssl.org/ 

https://slproweb.com/products/Win32OpenSSL.html 


不再配置环境变量,直接进入安装目录,例如:C:\Soft\OpenSSL-Win64\bin

在文件夹下执行命令行操作

创建私钥: 

./openssl genrsa -des3 -out server.key 1024

创建csr证书:

./openssl req -new -key server.key -out server.csr

复制文件: 

copy server.key server2.key

去除密码: 

./openssl rsa -in server2.key -out server.key

生成 crt 证书:

./openssl x509 -req -days 365 -in server.csr -signkey server.key


openssl.png

注意:有的版本是直接把CRT生成到目录了,后来版本是直接控制台打印,此时,需要在该目录创建一个文本名字为server.crt内容就是控制台打印的内容

openssl crt.jpg


然后在nginx指定站点的vhost配置文件中增加监听SSL的端口

server
{
    listen 10015;
    listen 50015 ssl; # 增加 SSL 监听
    server_name www.opsdog_demo.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root D:/Soft/nginx-1.25.2/www/opsdog_demo;
    ssl_certificate      D:/Soft/nginx-1.25.2/vhost/server.crt;  # 增加 指向您的证书文件
    ssl_certificate_key  D:/Soft/nginx-1.25.2/vhost/server.key;  # 增加 指向您的私钥文件
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    location / {
        root  D:/Soft/nginx-1.25.2/www/opsdog_demo;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
        return 403;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log D:/Soft/nginx-1.25.2/logs/opsdog_demo.error.log;
        access_log D:/Soft/nginx-1.25.2/logs/opsdog_demo.log;
    }
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log D:/Soft/nginx-1.25.2/logs/opsdog_demo.error.log;
        access_log D:/Soft/nginx-1.25.2/logs/opsdog_demo.log;
    }
    access_log  D:/Soft/nginx-1.25.2/logs/opsdog_demo.log;
    error_log  D:/Soft/nginx-1.25.2/logs/opsdog_demo.error.log;
}


此时,访问10015还是HTTP协议,访问50015就是HTTPS协议,但是因为这是我们自己生成证书,浏览器会进行安全提示

openssl安全提示.jpg


点击高级,继续访问即可

推荐您阅读更多有关于“ win10 SSL https win openssl ”的文章

下一篇:Ubuntu下安装FTP配置登录用户

猜你喜欢

发表评论: