一对一免费咨询: 13913005726 025-66045668

  关于HTTPS和HTTP的区别,以及HTTPS的优势、HTTPS和SSL之间的关系等,本文不做任何讨论,感兴趣的可以自行百度。本文只用来记录作为一个外行人,如何一步步构建自己的HTTPS服务器的过程。

  1、申请SSL证书

  SSL证书是一种加密协议。大部分企业级的SSL证书都是需要收费的,而且对于个人开发者来说都不便宜(土豪随意)。个人使用的SSL证书,有一些是免费的,比如Let's Encrypt、阿里云、腾讯云、又拍云等,都有提供免费证书的申请接口。

  这里以阿里云为例,其免费申请流程为:

  (1)注册阿里云账号

  (2)打开管理控制台 -- 安全(云盾) -- CA证书服务

  (3)打开右上角购买证书:

  

  

  (4)选择免费型DV SSL,并点击立即购买。购买成功后跳转到我的证书页面:

  

  (5)此时的状态处于待完成,点击右侧补全按钮,补全域名信息:

  

  (6)按照流程单击下一步,填写个人信息,上传相关信息等。最后跳回我的证书页面:

  

  (7)此时的状态变成了待审核。点击右侧进度按钮,进入详情页:

  

  (8)这里需要配置域名授权验证。具体步骤可参考:如何配置域名授权验证? 配置完成后点击配置检查,如果配置成功,则:

  

  此时耐心等待审核结果即可。一般需要3到5个工作日。

  2、配置基本的Nginx服务器

  这里我们使用Python的Flask框架,构建一个最简单的网站,页面直接返回Hello World。

  这里建议大家使用docker进行网站部署。推荐一个自己的Docker镜像,镜像中集成了Python网站开发、爬虫等所需要的各种库,以及安装有uWSGI和Nginx等相关服务。地址如下:https://hub.docker.com/r/xianhu/centos/

  下载镜像后直接新建容器,并开放80端口和443端口即可:

  PS:这里开放80是为了测试HTTP,开放443是为了测试HTTPS。

QQ截图20171115135513

  进入镜像后,新建FlaskDemo目录,并新建FlaskDemo.py文件。文件代码如下:

QQ截图20171115135530

  然后利用uWSGI启动Flask程序,关于uWSGI的知识相信做过Flask的程序员应该都了解。

  uwsgi -s /tmp/uwsgi.sock -w FlaskDemo:app --chdir /root/FlaskDemo/ --chmod-socket=666

  修改Nginx配置文件,配置文件地址:/etc/nginx/conf.d/default.conf:

QQ截图20171115135602

  配置很简单。修改之后重启nginx -s reload即可使配置文件生效。此时访问域名地址,即可看到如下效果,HTTP网站配置完成。注意:域名需要备案,否则国内不允许上线。

  

  此时是通过HTTP进行访问的。下一步我们就需要改为HTTPS访问。

  3、在Nginx中配置SSL证书

  经过两三天的等待,SSL证书终于申请成功了,即在阿里云的安全(云盾)产品中的CA证书服务中,证书状态变成了已签发:

  

  下载证书到服务器,下载后可以得到两个文件:xxxx.pem 和 xxxx.key

  

  在Nginx的安装目录下,新建文件夹cert,并将上述两个文件复制到该文件夹下:

  此时修改Nginx配置文件/etc/nginx/conf.d/default.conf:

QQ截图20171115135631

  保存配置文件后,重启Nginx:nginx -s reload。

  此时再去访问网址,即可得到:

  

  即HTTPS配置成功!

*请认真填写需求信息,我们会在24小时内与您取得联系。
致力于为客户创造更多价值
13913005726 025-66045668