学习背景:
- 同样由于公司的经费不足,对于找回官网绿色小锁头的任务又到了我的身上,打开ssl证书购买界面,着实被眼前的天文数字下了一跳,还好有善良的马爸爸,阿里云上提供了为期一年的免费SSL证书。下面就开始寻找绿色小锁头之旅吧。
一、申请阿里云免费证书:
- 登陆阿里云账号,在搜索框中搜索ssl证书控制台。
- 点击右上角的购买证书按钮,进入界面不用理会那个天文数字。
-
直接上图。
在这里插入图片描述
选择如图的红色区域便会惊喜的发现,金额为熟悉的0元。(但是值得注意的是免费数字证书,最多只能保护一个明细子域名,不支持通配符,一个阿里云账号最多签发20张免费的证书)
- 点击立即购买按钮,进行购买,等待阿里云的申请结果。
二、申请审批下来以后,进行补全信息操作。
-
直接上图
在这里插入图片描述
点击图片标记的补全信息按钮。进行信息的补全。
-
信息补全包括,域名的映射和一些基本信息的填写,还是直接图片来的比较清晰。
在这里插入图片描述
这一步是填写此ssl证书对应的域名。(域名这一块不详细的讲解,bat三巨头都提供域名服务)
-
填写个人信息。
在这里插入图片描述
上诉填写,包括一基本的信息填写,注意图片处的红色对勾记得勾选,系统自己生成大大的方便。
-
等待10多分钟审核差不多就通过了,点击刚才提交的证书进行证书的下载,这里我选择的是nginx,解压得到两个文件,不用去修改他们,同样截图开始。
在这里插入图片描述
三、配置安装nginx(本人环境为centos7)
//安装依赖
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
//预创建文件
mkdir -p /usr/local/nginx /var/log/nginx /var/log/nginx /var/temp/nginx /var/lock/nginx
//下载源码包
wget http://nginx.org/download/nginx-1.8.1.tar.gz
// 解压
tar -zxvf nginx-1.8.1.tar.gz
// 编译配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/local/nginx/nginx.pid \
--lock-path=/var/lock/nginx/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
## ssl配置很重要。
--with-http_stub_status_module \
--with-http_ssl_module
//编译
make
//安装
make install
安装nginx的时候,上诉代码添加了两个支持ssl的配置,必须按上诉编译,安装完成以后,重启nginx,记得打开阿里云和服务器防火墙的443端口。
五、启动nginx
先检查是否在 /usr/local 目录下生成了 Nginx 等相关文件:cd /usr/local/nginx;ll,正常
的效果应该是显示这样的:
drwxr-xr-x. 2 root root 4096 3月 22 16:21 conf
drwxr-xr-x. 2 root root 4096 3月 22 16:21 html
drwxr-xr-x. 2 root root 4096 3月 22 16:21 sbin
把 80 端口加入到的排除列表:
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo service iptables save
sudo service iptables restart
启动:/usr/local/nginx/sbin/nginx,启动完成 shell 是不会有输出的
检查 时候有 Nginx 进程:ps aux | grep nginx,正常是显示 3 个结果出来
检查 Nginx 是否启动并监听了 80 端口:netstat -ntulp | grep
访问:ip,如果能看到:Welcome to nginx!,即可表示安装成功
nginx一些常用的命令:
检查 Nginx 启用的配置文件是哪个:/usr/local/nginx/sbin/nginx -t
刷新 Nginx 配置后重启:/usr/local/nginx/sbin/nginx -s reload
停止 Nginx:/usr/local/nginx/sbin/nginx -s stop
`如果出现错误,或者出现一些异常情况,可以查看错误日志,日志的路径在error.log下`
六、配置nginx.conf
- 直接上代码吧,照葫芦画瓢。
server {
listen 443;
server_name bench.ustcar.com;
ssl on;
root html;
index index.html index.htm;
ssl_certificate /usr/local/nginx/cert/1532352517191.pem;
ssl_certificate_key /usr/local/nginx/cert/1532352517191.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 / {
proxy_pass http://127.0.0.1:8080;
}
}
//重启nginx
./nginx -s reload
- 解释一下ssl_certificate /usr/local/nginx/cert/1532352517191.pem;
ssl_certificate_key /usr/local/nginx/cert/1532352517191.key;
这两个文件就是上面的下载证书步骤,只需要上传到服务器上的一个具体位置,给一个路径就ok了。
七、总结;
- 到此配置的大体流程就结束了,看百遍不如亲自的实验一次,只需一个服务器,一个阿 里云账号,配置不规范,亲人两行泪!!!!,祝成功。
网友评论