阿里云服务器配置 SSL 图文教程

简介

上次搭建了个开源的个人博客项目——Halo,并且部署到了云服务器上,但是每次以 http 的方式访问,都会在地址栏提示不安全,看着不舒服。所以今天给网站配置了SSL,在这里记录下。

一、准备工作

申请SSL证书
  • 进入阿里云服务器管理控制台,搜索SSL
    阿里云服务器配置 SSL 图文教程_第1张图片
  • 点击购买证书
    阿里云服务器配置 SSL 图文教程_第2张图片
  • 选择配置,选择免费版就可以,然后点击立即购买。
    阿里云服务器配置 SSL 图文教程_第3张图片
  • 购买完成之后等待机构签发证书就可以,需要一定时间。
下载证书

阿里云服务器配置 SSL 图文教程_第4张图片
阿里云服务器配置 SSL 图文教程_第5张图片

下载下来是个压缩包,解压,里面有两个文件

SSL证书文件

在Nginx安装目录(默认Nginx安装目录为/usr/local/nginx/conf)下创建cert目录

创建cert目录

将上上步解压得到的两个证书文件放到这个目录下

阿里云服务器配置 SSL 图文教程_第6张图片

二、服务器配置SSL

修改Nginx安装目录/conf/nginx.conf文件。
  • 先将之前配置的部分注释掉
    阿里云服务器配置 SSL 图文教程_第7张图片
  • 找到下方的 https 的配置,修改。

以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。

server {
    listen 80 default backlog=2048;
	listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
	server_name localhost;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
	root html;
	index index.html index.htm;
	ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
	ssl_certificate_key cert/domain name.key;   #将domain name.key替换成您证书的密钥文件名。
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
	ssl_prefer_server_ciphers on;   
	location / {
		root html;   #站点目录。
		index index.html index.htm;   
		proxy_pass http://localhost:8090;
	}
}

阿里云服务器配置 SSL 图文教程_第8张图片

  • 保存nginx.conf文件后退出。然后执行下面的命令重载 Nginx 的配置。
    命令: nginx -s reload;
这个时候可能会报错

配置报错

报上面的错说明 Nginx 缺少 SSL 模块,所以需要先安装下。
  • 切换到 Nginx 源码包目录(我的是放在 /usr/local/src/nginx-1.11.3),然后安装SSL模块。
    命令: cd /usr/local/src/nginx-1.11.3
    命令: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    阿里云服务器配置 SSL 图文教程_第9张图片
  • 等安装完成后,执行编译。
    命令: make
    阿里云服务器配置 SSL 图文教程_第10张图片
  • 备份原有已安装好的 Nginx
    命令: cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    备份nginx
  • 停止 Nginx 服务
    命令: nginx -s stop
  • 将刚刚编译好的 Nginx 覆盖掉原有的 Nginx,中间会提示确认,输入 y 就可以。
    命令: cp ./objs/nginx /usr/local/nginx/sbin/
    覆盖原nginx
  • 再次重载 Nginx 配置文件
    命令: nginx -s reload;
  • 配置完成可以正常用 https 的方式访问了:https://www.coderyang.fun/
    阿里云服务器配置 SSL 图文教程_第11张图片

参考文档

https://help.aliyun.com/document_detail/98728.html?spm=5176.2020520163.0.0.6a6eYabEYabETP
https://www.cnblogs.com/ghjbk/p/6744131.html

你可能感兴趣的:(服务器)