SSL证书在IIS上部署使用

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
大数据开发治理平台 DataWorks,不限时长
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 该文介绍了如何在IIS上部署SSL证书以实现HTTPS访问。首先建议使用nginx,但若需使用IIS,需有SSL证书(fullchain.pem和privkey.pem)并熟悉IIS操作。文中提供了两种证书转换方法:已有openssl,使用命令`openssl pkcs12 -export`生成.pfx文件;无openssl,通过Python脚本(pyOpenSSL v23.2.0)转换。转换后的.pfx文件导入Windows,选择“本地用户”并输入密码。最后在IIS中绑定证书,测试https访问应能正常工作。

背景介绍

我的需求是在IIS上部署SSL证书,然后可以 https://example.com 正常访问

如果您不是迫不得已,建议使用nginx等web服务器已获得顺畅的https服务

nginx SSL 证书配置如下

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate         /etc/nginx/cert/fullchain.pem;
    ssl_certificate_key     /etc/nginx/cert/privkey.key;

环境介绍以及依赖版本介绍

你已经通过其他途径申请到了 example.com 的SSL证书,证书包含两个文件 fullchain.pem pem证书文件 privkey.pem pem私钥文件
windows服务器(我的是windows10),已经安装IIS
这里假设您已经熟练操作IIS

  • 选中IIS中的网站,在右侧Bindings...中添加 https://example.com , 然后在下面选中您导入的证书接口
  • 您导入的证书接口 此时还不可用,本文的目的就是导入证书,然后在IIS中的证书选择中可以选择到导入的证书。
    您已经在您的域名管理的DNS管理中正确添加了DNS解析记录

操作方法

方案1

如果您的电脑已经安装 openssl , 则直接转换证书即可

# 测试您的电脑是否安装openssl
openssl help

Standard commands
asn1parse         ca                ciphers           cms
crl               crl2pkcs7         dgst              dhparam
dsa               dsaparam          ec                ecparam
enc               engine            errstr            gendsa
genpkey           genrsa            help              list
nseq              ocsp              passwd            pkcs12
pkcs7             pkcs8             pkey              pkeyparam
pkeyutl           prime             rand              rehash
req               rsa               rsautl            s_client
s_server          s_time            sess_id           smime
speed             spkac             srp               storeutl
ts                verify            version           x509

# 直接转换证书

openssl pkcs12 -export -out example.com.pfx -inkey privkey.pem -in fullchain.pem

# 需要输入密码 xxxxxx

文件 example.com.pfx 即使转换的 windowws 的证书,可以导入IIS中

方案2

如果您的电脑未安装openssl,则可以使用python代码进行证书转换

代码如下


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024-03-25 15:26
# @Author  : Jack
# @File    : 02.convert_ssl_pfx

"""
02.convert_ssl_pfx
pip install pyOpenSSL==23.2.0
"""
from OpenSSL import crypto


def main(full_chain_path, key_path, password, pfx_result):
    with open(full_chain_path, 'rb') as f:
        full_chain_data = f.read()
    with open(key_path, 'rb') as f:
        key_data = f.read()

    cert = crypto.load_certificate(crypto.FILETYPE_PEM, full_chain_data)
    key = crypto.load_privatekey(crypto.FILETYPE_PEM, key_data)

    pkcs12 = crypto.PKCS12()
    if cert and key:
        pkcs12.set_certificate(cert)
        pkcs12.set_privatekey(key)
        with open(pfx_result, 'wb') as f:
            f.write(pkcs12.export(passphrase=password))


if __name__ == '__main__':
    main(r'fullchain.pem', r'privkey.pem',
         b'xxxxxx', r'result.pfx')

特别注意事项

pyOpenSSL==23.2.0 , 23.2.0之后的版本已经移除 PKCS12
Removed OpenSSL.crypto.loads_pkcs7 and OpenSSL.crypto.loads_pkcs12 which had been deprecated for 3 years.
参见

导入证书,使IIS可以选择使用

把生成的 example.com.pfxresult.pfx 复制到windows机器上, 双击文件,选择本地用户,下一步,下一步,下一步...看到导入成功提示即可。
本地用户 选择外, 其他选项默认即可,需要密码的话,请输入上面配置的密码xxxxxx

此时在进入IIS中选择证书的话,您就可以选择到您自己的证书了

测试

浏览您的网站 https://example.com 发现可以正常访问。

目录
相关文章
|
9月前
|
安全 搜索推荐 网络安全
百度搜索:蓝易云【IIS服务器上安装SSL证书?】
通过按照上述步骤正确安装SSL证书并配置IIS服务器,您的网站将获得HTTPS连接,提供更安全的访问体验。这有助于提高您的网站在搜索引擎结果中的排名,并确保用户数据的保护。请记住,在SEO优化方面,确保网站内容的优质和关键词的优化也是至关重要的。
593 0
|
8月前
|
存储 安全 网络协议
阿里云SSL数字证书原理、使用、申请流程及部署方式
本文带您了解阿里云数字证书的基本原理、使用、申请流程及部署方式
|
27天前
|
网络协议 应用服务中间件 网络安全
申请并部署免费的 SSL/TLS 证书
本文介绍了如何免费获取和部署 SSL/TLS 证书,主要针对囊中羞涩的用户。方法包括:云服务平台的限量提供、使用 Cloudflare 等网络服务商以及直接向免费证书颁发机构(如 Let’s Encrypt 和 ZeroSSL)申请。文章重点讲述了通过自动化脚本 acme.sh 与 Let’s Encrypt 配合申请和部署证书的步骤,包括设置默认 CA、安装 acme.sh、使用 http 模式验证和部署到 nginx 服务器。此外,还提到了配置 nginx.conf 文件以启用 SSL。
|
1月前
|
网络协议 Serverless 网络安全
阿里云函数计算自定义域名的SSL证书免费全自动申请及部署
阿里云函数计算简化了开发部署,让用户专注业务逻辑,降低了运维复杂性。然而,SSL证书支持需额外付费:免费证书有效期缩短至3个月,1年证书及自动化部署均收费。为节省成本,小微企业和个人开发者可以采用一套全自动、全免费的SSL证书申请、续签和部署方案。该方案包括自动向Let's Encrypt申请证书、使用阿里云OpenAPI更新证书以及在证书到期前提前申请。通过Win-Acme(Windows)实现,详细步骤包括设置win-acme、自动DNS验证和更新函数计算证书。
248 5
|
1月前
|
Kubernetes 网络安全 Windows
要在云效部署到阿里云服务器上的 Windows Server 上的 IIS
【2月更文挑战第18天】要在云效部署到阿里云服务器上的 Windows Server 上的 IIS
309 4
|
1月前
|
存储 网络安全 数据安全/隐私保护
Windows Server 2019 IIS HTTPS证书部署流程详解
Windows Server 2019 IIS HTTPS证书部署流程详解
167 0
|
1月前
|
JavaScript Windows
VUE部署到IIS中报404错误解决方案-配置URL重写
VUE部署到IIS中报404错误解决方案-配置URL重写
|
1月前
|
前端开发 JavaScript BI
云LIS云实验室信息管理系统源码,支持IIS独立部署,Docker部署
云LIS云实验室信息管理系统源码,支持IIS独立部署,Docker部署
71 0
|
22天前
|
网络协议
windows_server2012搭建iis并配置http重定向 iis转发
windows_server2012搭建iis并配置http重定向 iis转发
22 1
|
22天前
|
Windows
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
15 0