为了账号安全,请及时绑定邮箱和手机立即绑定

阿里云部署 6.配置https

标签:
JavaScript

准备

  1. 备案过的域名
  2. ssl证书(免费的就行)

申请证书

  1. 登录阿里云控制台产->产品与服务->SSL 证书
  2. 点击购买证书,证书类型选择免费型DV SSL,完成购买
  3. 购买完以后,出现了Symantec 免费版 SSL,操作项下按钮点击。
  4. 完善资料、提交审核。我这里域名用的是阿里云DNS服务,按照提示勾选证书绑定的域名在阿里云的云解析,系统生成CSR,直至提交审核。

10分钟左右,申请的证书就能审核通过。

下载证书

确认已获得证书就可以去证书控制台下载证书了,解压后会得到两个文件

3064445_readingblog.cn.key 3064445_readingblog.cn.pem

不同的服务器类型,证书配置方法也不一样,这里我们以nginx服务器为例做介绍

配置nginx的https

  1. 创建存储证书的目录(任意)
sudo mkdir -p /usr/local/nginx/ssl/key
  1. 上传证书
scp -p 22 /usr/local/nginx/ssl/key/3064445_readingblog.cn.pem root@47.92.166.108:/usr/local/nginx/ssl/key

scp -p 22 /usr/local/nginx/ssl/key/3064445_readingblog.cn.key root@47.92.166.108:/usr/local/nginx/ssl/key

上传完毕后,目录结构如下

[root@iZ8vbfhrv1vsbp44n9fdtoZ key]# pwd
/usr/local/nginx/ssl/key
[root@iZ8vbfhrv1vsbp44n9fdtoZ key]# ls
3064445_readingblog.cn.key  3064445_readingblog.cn.pem
  1. 修改nginx配置文件
# HTTPS server
#
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /usr/local/nginx/ssl/key/3064445_readingblog.cn.pem;
    ssl_certificate_key  /usr/local/nginx/ssl/key/3064445_readingblog.cn.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
#    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root   /opt/nodejs/blog-server/static/blog;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    location /blog {
        proxy_pass http://0.0.0.0:3000;
    }

}
  1. 重启nginx
/usr/local/nginx/sbin/nginx -s reload

如果提示the “ssl” parameter requires ngx_http_ssl_module,说明nginx还需要安装ngx_http_ssl_module模块。

nginx安装ngx_http_ssl_module

我的nginx安装目录为:/usr/local/nginx,源码包在/usr/nginx-1.14.0
首先进入源码包目录,执行

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

配置完成后,运行命令make命令(注意此处不能进行make install,否则就是覆盖安装)

make

替换已安装好的nginx包,替换之前先备份:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

先停止nginx服务:

/usr/local/nginx/sbin/nginx -s stop

将刚刚编译好的nginx覆盖掉原有的nginx

cp ./objs/nginx /usr/local/nginx/sbin/

最后就可以启动nginx了

/usr/local/nginx/sbin/nginx

删除备份

rm -rf /usr/local/nginx/sbin/nginx.bak

我们可以通过命令查看ssl模块是否已经加入成功

[root@iZ8vbfhrv1vsbp44n9fdtoZ nginx-1.14.0]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消