SSL证书在IIS上部署使用

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 该文介绍了如何在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 发现可以正常访问。

目录
相关文章
|
3月前
|
人工智能 网络安全 开发工具
视觉智能开放平台操作报错合集之服务部署在pdd的服务器,调用报错:The SSL connection could not be established,该如何解决
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
|
6天前
|
安全 应用服务中间件 网络安全
部署SSL证书
部署SSL证书
34 5
|
30天前
|
C++
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
|
1月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
76 2
|
1月前
|
开发框架 .NET API
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
123 3
|
2月前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
应用服务中间件 网络安全 nginx
|
2月前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
169 0
|
4月前
|
网络协议 应用服务中间件 网络安全
申请并部署免费的 SSL/TLS 证书
本文介绍了如何免费获取和部署 SSL/TLS 证书,主要针对囊中羞涩的用户。方法包括:云服务平台的限量提供、使用 Cloudflare 等网络服务商以及直接向免费证书颁发机构(如 Let’s Encrypt 和 ZeroSSL)申请。文章重点讲述了通过自动化脚本 acme.sh 与 Let’s Encrypt 配合申请和部署证书的步骤,包括设置默认 CA、安装 acme.sh、使用 http 模式验证和部署到 nginx 服务器。此外,还提到了配置 nginx.conf 文件以启用 SSL。
315 0
|
2月前
|
应用服务中间件 Linux 网络安全
使用Certbot申请/续签ssl证书
使用Certbot申请/续签ssl证书
243 8

热门文章

最新文章