阿里云ECS配置免费ssl实现https访问

2018-11-23  本文已影响0人  TTL和CMOS

经过一番努力,加上一步步的实践,终于实现了在阿里云ecs主机上配置ssl达到https访问的目的。

废话不多说,现在就上步骤。

1.申请证书

https://common-buy.aliyun.com/?spm=5176.7968328.1120760.1.610812322W5ZVJ&commodityCode=cas#/buy

在这个页面,选择免费证书,可以以使用一年。

然后会出现填写个人信息的弹窗,按提示填写就行了。

然后登陆证书控制台,审核通过的ssl证书是这样的

此时要点击下载证书,把证书传到服务器上。

2.

在服务器上创建存放证书的文件夹

mkdir  /usr/local/nginx/ssl

把下载下来的证书 xxx.key, xxx.pem  传到这个文件夹

3.

nginx 配置 这里我是用的是nginx服务器

vim  /usr/local/nginx/conf/nginx.conf

server 中其他配置该怎么配和之前一致,这里是增加的ssl的配置

4. 检查nginx配置

/usr/local/nginx/sbin -t

检查配置如果发现了报错,说明你没有安装ssl的nginx扩展

nginx: [emerg] unknown directive "ssl"

这里说明下安装nginx ssl扩展

在 /usr/local/ 目录下 下载nginx1.10.3 软件包

wget http://nginx.org/download/nginx-1.10.3.tar.gz

解压

tar zxvf nginx-1.10.3.tar.gz

进入目录

cd  nginx-1.10.3

./configure --prefix=/usr/local/nginx --with-http_ssl_module // 加上http的ssl支持模块

编译完成后 在此目录下执行

make

发现目录中多了objs,  替换 原来的 nginx启动文件

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

查看是否已经替换

/usr/local/nginx/sbin/nginx  -V

发现版本已经是1.10.3 说明替换成功

现在检查nginx配置应该不会报错了

5. 重启nginx 

这里注意 nginx -s reload 并不能重启打开监听443端口

需要杀死之前的nginx进程

ps -aux | grep nginx 

kill  nginx 进程号

/usr/local/nginx/sbin/nginx

netstat -anp | grep 443

查看到 443 端口被nginx监听说明成功

6. 设置阿里云安全组

在阿里云ces实例左侧有安全组的导航,点击进入后,添加安全组策略,增加443端口的访问,如图

7.设置服务器防火墙iptables开启443端口

vim /etc/sysconfig/iptables

添加一行,保存

-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

然后重启iptables

systemctl restart iptables

8.访问https

大功告成,没有出现绿色锁是因为内部访问的一些资源不是https的,修改后就可以显示绿色锁了。

上一篇下一篇

猜你喜欢

热点阅读