HTTPS 证书配置

现在阿里云和腾讯云都支持申请 HTTPS 证书,这里不再提,有需要的可自行google解决方案。 本文主要介绍的是通过 letsencrypt 申请免费的HTTPS证书,并将其配置在IIS WEB服务器上。

0. 申请 HTTPS 证书

https://www.sslforfree.com/ 申请证书,这里我以 http://sparktodo.weihanli.xyz/ 为例申请设置

  1. 输入要使用HTTPS的证书地址,生成证书及验证文件

  2. 验证域名

    验证域名支持三种方式,FTP ,文件验证,DNS验证

    如果有FTP,推荐使用FTP验证,简单快捷;如果没有FTP推荐使用文件验证,如果端口号不是80端口请使用DNS验证方式。

    这里以 文件验证 为例验证域名,点击 “Manually Verify Domain”按钮获取验证文件,点击下面的链接下载文件

    在网站根目录下创建文件夹,并将验证文件放在里面

    windows 创建目录:

    mkdir .well-known\acme-challenge

    linux 创建目录:

    mkdir -p .well-known/acme-challenge

    如果你用的是IIS作为WebServer,那么还需要设置一下MIME类型,具体方法如下:

    点击下面的验证链接,如果没有错误就证明已经验证通过可以直接下载证书

    【asp.net core项目需要另外设置】 针对 asp.net core项目,我们需要将创建的文件放在 wwwroot 目录下,并且在程序中添加对没有扩展名的文件的支持, 添加对没有扩展名的文件的支持的代码如下:

    StartUp 中的 Configure 方法中配置

             app.UseStaticFiles(new StaticFileOptions()
    {
    ServeUnknownFileTypes = true
    });
  3. 下载

    验证通过之后下载我们的证书,下载之后会是一个包含三个文件的压缩包,三个文件中有两个crt和一个private key, 这可能并不是你想到的证书格式,那么你需要转换证书格式,如果你使用 IIS 作为WebServer,windows 不识别 private key,所以需要把证书合成一个 *.pfx 的证书

1. 证书格式转换

下载的证书可能并不是你需要的格式,建议下载 openssl 进行转换,如果是linux系统,那会比较容易直接从官网下载。

  1. 下载openssl

    如果是windows系统可能会有一些繁琐,官方不提供windows版的,从这里下载windows版openssl

    下载并安装好之后,建议配置系统环境以更方便的使用

  2. 转换证书格式

    • 转换为 *.pfx 格式

      openssl pkcs12 -export -in certificate.crt -inkey private.key -out certificate.pfx

      执行命令会提示你输入密码,输入之后会要求确认一下密码(无回显),密码在导入证书时会用到

    • 转换为 *.pem 格式

      openssl rsa -in private.key -text > private.pem

2. WEB服务器配置 HTTPS 证书

这里以 IIS 部署为例,更多web服务器配置HTTPS请参考证书配置(https://www#wosign#com/Docdownload/index.htm)[将#替换为.]

双击*.pfx证书文件即可导入证书,按提示导入证书即可,导入成功之后,配置IIS Web服务器:

配置 HTTP 自动转换为 HTTPS,可参考以下解决方案:

最好的解决方案是在代码里配置,如果是 HTTP 就重定向到 HTTPS

我的配置方式是这样的:

  1. 要求 SSL

  1. 自定义错误页面

3. Summary

生活处处是惊喜,转角遇到坑。

写这篇文章的时候,第一次配置主要是 openssl 的安装搞了好长时间,第二次配置比第一次顺利一些,但是也遇到了新的问题,第一次配置的是一个ASP.NET项目,第二次是一个ASP.NET Core项目,第二次文件验证不成功,后来修改了代码之后终于可以了,第二次还配置了强制HTTPS,第一次的项目配置的是前台功能允许使用HTTP,但是后台功能要求必须是HTTPS,第二次是全站HTTPS。

如果看完还有什么问题或者觉得文章有什么问题,欢迎指出,欢迎联系我 weihanli@outlook.com

生命不息,踩坑不止。

HTTPS 证书配置的更多相关文章

  1. nginx 反向代理及 https 证书配置

    nginx 反向代理及 https 证书配置 author: yunqimg(ccxtcxx0) 1. 编译安装nginx 从官网下载 nginx源码, 并编译安装. ./configure --pr ...

  2. nginx 之 https 证书配置

    HTTPS原理和作用 为什么需要HTTPS 原因:HTTP不安全 传输数据被中间人盗用.信息泄露 数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 对称加密:加密秘钥和解密秘钥 ...

  3. Https证书配置

    本文介绍配置免费证书的方法 具体步骤: 一.获取免费CA证书 步骤1到腾讯云找到: 二.申请完成 后域名验证指引 申请域名型证书,可以通过以下方式验证域名的所有权: 1. 手动 DNS 验证 通过解析 ...

  4. apache2 以及https证书配置

    环境Ubuntu12.04 server 配置 1,首先在进入找到/etc/apache2/apache2.conf的配置文件,里面有包含了较多配置文件的路径如:httpd.conf/ports.co ...

  5. springboot https证书配置

    如果公司有提供证书如: 拿到证书秘钥可直接在springboot 的配置文件中配置: server.ssl.key-store=classpath:cert.pfx server.ssl.key-st ...

  6. springboot下https证书配置

    没有证书的小伙伴首先申请一个阿里云免费证书,按照我的步骤来操作 1.购买页面是这样的 按照顺序选择 神奇的一幕出现了 然后就去购买成功,我们会看到证书没有签发,我们需要去申请 填写需要绑定的域名 一般 ...

  7. nginx https证书配置

    1. Nginx配置 server { listen 443; #指定ssl监听端口 server_name www.example.com; ssl on; #开启ssl支持 ssl_certifi ...

  8. Apache https 证书配置...

    没啥好说的..赋值粘贴 !! Listen 443 SSLSessionCache "shmcb:/apache/logs/ssl_scache(512000)" SSLSessi ...

  9. apache2 aliyun https证书配置

    SSLCertificateFile /etc/apache2/cert2019/2154762_www..com_public.crt SSLCertificateKeyFile /etc/apac ...

随机推荐

  1. 天地图使用过程中由于display:none导致加载部分地图瓦片失败

    在为按钮添加点击事件让地图显示的时候,初始加载未加载到当前页面尺寸的所有地图瓦片,在display:none之后停止加载地图,所以display:none属性去掉,改为dom解析完成之后$('#map ...

  2. 【javascript】继承

    1. js 其实是一个非面向对象的语言,通过对象的深浅复制完成继承 2. 继承方法 继承的方法有两种 1)prototype 原型模式 举个例子 var Animal = function () { ...

  3. SQL SERVER Buffer Pool扩展

    Buffer Pool扩展简介 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 在Buffer Pool 扩展之前,SQL Ser ...

  4. ES6学习目录

    前面的话 ES6是JavaScript语言的下一代标准,已经在 2015 年 6 月正式发布.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 为什么要学 ...

  5. phantomjs submit click

    phantomjs 一般提交时都会用submit,前提条件就是网页中有form表单: 在网页中无form表单的情况下,用submit()会报错:selenium.common.exceptions.N ...

  6. SpringBoot实战总汇--详解

    简介 Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的 轻量级代替品.无需开发重量级的 Enterprise JavaBean(EJ ...

  7. 中国象棋(IOS)

    ////  ViewController.m//  ChineseChess////  Created by 晚起的蚂蚁 on 2016/11/20.//  Copyright © 2016年 晚起的 ...

  8. 利用GeoIP数据库及API进行地理定位查询 Java

    地理定位查询的的数据库比较多,而且大多都开放一些free的版本 国内的有纯真数据库等,但是他只提供文本的地理位置信息,不提供经纬度数据 当应用到google map时,就不可以了 国外的有MaxMin ...

  9. Unity 使用TexturePackerGUI打包图集 Sprite 图片边上有线

    原来遇到的问题 保存下解决方法 修改Shape Padding图片间距的值为4

  10. vue的一些坑(第一天)

    1:刚开始在创建项目的时候一直出现vue不是内部或外部命令 关于这个的解决方案网上给出的很多的解决方案是配置环境,这个我就不在赘述了: 但是我觉得那样太麻烦,就没用,只是重新 npm i vue-cl ...