突然有一天老板让我给用Flask写的小网站安装SSL证书,虽然之前没弄过但是感觉应该不难。

主要分为以下几个步骤:

  • 购买域名
  • 购买SSL证书
  • DNS(域名解析)
  • 部署SSL证书

1. 购买域名

因为我只负责SSL证书的部署,所以域名公司已经提前在GoDaddy上买好了。我只需要他们提供给我GoDaddy的账号给我就行了,方便我后面配置DNS。

2. 购买SSL证书

因为阿里云提供了1年免费的Symantec DV SSL证书,所以能省一点是一点。直接点击“立即购买”就行了。

购买SSL证书

回到阿里云SSL证书管理控制台,点击证书后面的“申请”链接,在侧边栏按照提示填写申请信息。因为我用的是GoDaddy的DNS服务,所以选择“手工DNS验证”,如果你用是阿里云DNS可以自动完成域名授权验证。

证书申请

3. DNS(域名解析)

然后根据验证信息到GoDaddy相应的域名下添加一条DNS记录。

添加DNS解析记录

4. 部署SSL证书

没过一会儿证书就签发下来了,在“已签发的证书”中找到相应的证书,点击“下载”,根据对应的服务器类型选择证书下载。

下载SSL证书

将下载的证书解压上传服务器,这里我使用XShell附带的上传工具Xftp上传,你也可以选用其他工具或命令进行上传。

上传SSL证书

按照以下命令配置,相应的地方需要修改成你自己的配置:

server {# 侦听443端口,这个是ssl访问端口listen    443;# 定义使用访问域名,修改成自己的域名server_name  www.xxx.com;# 注意这些路径是相对于/etc/nginx/nginx.conf文件位置ssl on;ssl_certificate cert/2517083_www.xxx.com.pem; # 修改成自己的证书名称,以下同ssl_certificate_key cert/2517083_www.xxx.com.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 按照这个协议配置ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 按照这个套件配置ssl_prefer_server_ciphers on;location / {proxy_pass          http://127.0.0.1:8090; # 根据自己Web运行端口进行修改proxy_set_header    X-Real-IP $http_x_forwarded_for;proxy_set_header    X-REMOTE-ADDR $remote_addr;proxy_set_header    X-Forwarded-For $http_x_forwarded_for;proxy_set_header    PROXY-ADD-X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout    90;proxy_send_timeout       90;proxy_read_timeout       90;}
}server {# 80端口是http正常访问的接口listen 80;server_name www.xxx.com; # 修改成自己的域名# 在这里,我做了https全加密处理,在访问http的时候自动跳转到httpsrewrite ^(.*) https://$host$1 permanent;location / {proxy_pass          http://127.0.0.1:8090; # 根据自己Web运行端口进行修改proxy_set_header    X-Real-IP $http_x_forwarded_for;proxy_set_header    X-REMOTE-ADDR $remote_addr;proxy_set_header    X-Forwarded-For $http_x_forwarded_for;proxy_set_header    PROXY-ADD-X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout    90;proxy_send_timeout       90;proxy_read_timeout       90;}
}

检查Nginx配置并重启Nginx服务:

nginx -t
nginx -s reload

现在再回到浏览器访问自己的网站,是不是变成绿色的HTTPS了呢。

踩坑提示

在使用GoDaddy之前,我们公司所有的域名解析都是在Cloudflare上。Cloudflare人性化的地方就是自带SSL证书,只要开启“Always Use HTTPS”的选项开关即可HTTPS访问你的网站了,连证书申请和配置都省了。但是如果你一开始不知道的话,傻傻地按照我上面的步骤走下来,到最后会发现网站因为提示重定向太多而无法访问。我也是查了很多资料才在一篇博客上看到要将Cloudflare的SSL模式选成“Full (strict)”才能使用自己配置的SSL证书。具体原理可以查看Cloudflare官网介绍和相关博客。

亦正亦邪的Cloudflare

phpstudy安装ssl证书_给网站安装免费SSL证书相关推荐

  1. 使用百度云加速服务进行配置网站https证书(例如:阿里云免费SSL证书)

    详情请参考原文:使用百度云加速服务进行配置网站https证书(例如:阿里云免费SSL证书)

  2. windows server使用 LetsEncrypt-Win-Simple来安装和使用用Let's Encrypt免费SSL证书

    一.网站部署 LetsEncrypt-Win-Simple可以自动发现已经部署的网站供我们选择要生成证书的网站,而且还需要进行验证.所以在生成证书之前,确保网站已经部署好并可以正常访问. 二.生成证书 ...

  3. cloudflare免费证书_新Cloudflare:免费CDN+免费SSL证书轻松搞定https

    Cloudflare是一个非常优秀的CDN服务商,在Cloudflare刚刚推出时就已经试用过他们的服务了,后来由于Cloudflare国内用户的增多,导致了Cloudflare CDN服务器IP无法 ...

  4. acme云服务器生成证书_使用 acme.sh 申请 SSL 证书并且定期自动更新

    在我们的实际项目生产过程中往往需要为部署的服务和域名配置 SSL 证书,可以采用的方法有很多种,例如可以申请阿里云的免费 SSL 证书,或者也可以使用 CloudFlare 的 SSL 服务.本文介绍 ...

  5. python sanic 设置ssl证书_配置自签https ssl证书

    由于人们越来越重视网络安全,所以很多平台及系统都要求使用https方式接入.而且一些开源服务框架在调用时也只接受https请求,这将导致平时开发/测试时需要用到ssl证书的地方越来越多. 在2016年 ...

  6. python自动安装pip教程_谈谈全自动安装常使用的pip install的原理及作用!!!

    正如第一句所说: pip is the package installer for Python. You can use pip to install packages from the Pytho ...

  7. dz安装教程php,DZ论坛网站安装,设置步骤

    一.下载 Discuz! X 官方版到本地或者服务器上 二.解压并上传 Discuz! 程序到服务器且修改相应目录权限 1.上传 Discuz! 程序到服务器上 解压缩得到如下图所示的三个文件: up ...

  8. 手机登录群晖出现ssl证书不可信_教你申请免费SSL证书以及安全访问群晖的方法教程...

    教你申请免费SSL证书以及平安拜候群晖的方式教程% B+ _$ r" \! L" @) q " i2 v! z" P0 `3 X: W  l: @. p本人小白 ...

  9. php安装时提示dir,php网站安装出现dir

    WIN2003+IIS6+FastCGI+PHP5.4.30的安装配置 原文:WIN2003+IIS6+FastCGI+PHP5.4.30的安装配置 说明:PHP5.5已不支持win2003了,Win ...

最新文章

  1. 微信小程序实现画布自适应各种手机尺寸
  2. pandas 修改数据和数据类型
  3. 千言万句,Nginx从入门到精通,看这一篇足矣
  4. SQL Server 数据库设计
  5. 作业-python常用库类 numpy+pandas
  6. 鸿蒙轻内核源码分析:虚实映射
  7. 获取当前图层所处的坐标系统(C++)(ArcObject开发)
  8. MySQL出错信息查询表
  9. HTML5 Canvas JavaScript库 Fabric.js 使用经验
  10. 演说之禅:演说中的图效优势
  11. php把字体调大,phpDesigner 8调整字体大小的方法。
  12. ffmpeg命令分析-acc
  13. 微信公众号网页开发逻辑梳理
  14. win10计算机系统优化设置,Win10不如win7?超实用win10系统优化设置,让电脑运行更流畅!...
  15. 【Winform】 Enum逆向解析
  16. 武装突袭3多人服务器文件地图,武装突袭3地图文件夹 | 手游网游页游攻略大全...
  17. 分析散户如何去做好股票程序化交易?
  18. 如何使用Nmap扫描所有TCP和UDP端口?
  19. 回答朋友关于微信CRM系统如何使用的问题
  20. 【FreeRTOS】简介

热门文章

  1. 百年不遇的,我遇到了两次
  2. 计算机设计类有哪些专业,2021新高考模式下报考,这4类专业有“潜规则”,考生报考需谨慎...
  3. 如何对大数据进行数据分析
  4. 使用C语言编程求解: 1 - 1/2 + 1/3 - 1/4 + 1/5 - ... + 1/99 - 1/100 的值。
  5. 基于MonteCarlo法的经典射击问题中的杀伤概率估计问题
  6. linux7保存防火墙规则,centos7中没有service iptables save指令来保存防火墙规则
  7. android return 如何跳出两个循环_PHP跳出循环的方法
  8. c语言取字节高四位低四位,C语言取一个数的最高位
  9. 练习题 - 基于快速文本标题匹配的知识问答实现(一,基础篇)
  10. 笔记︱精准营销解决方案以及营销组合评估