简单介绍
TTPS是以安全为目标的HTTP通道 简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL;
说到ssl就不得不说一下OpenSSL OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
准备工作
获取ca证书 https应用关键在于证书 这个证书是需要付费的 天朝的大概从一年几百到几万不等 此处为了测试我申请了沃通免费ca证书
到这里去申请 http://freessl.wosign.com/freessl 申请步骤相当简单 如图:
填写完基本信息以后通过网站验证即可申请 申请完成以后大概需要等10-30分钟 会邮件通知你去下载证书
上传证书
下载证书 然后找到对应的nginx版本拿出其中 你的域名.crt 和 你的域名.key 两个文件
将这两个文件上传到服务器上 注意不要放在web站点可以访问到的位置 并且需要修改目录权限 安全第一
修改配置
上传完以后就该修改nginx配置了 修改如下
server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/你的.crt; ssl_certificate_key /etc/nginx/ssl/你的.key; server_name www.xxx.com; location / { root /web; index index.html; } }
wq保存退出 检查语法问题
nginx -t重启服务
service nginx restart
注意 https的默认端口为443 但是一般用户不会 https://wwww.xxx.com这样访问
而是wwww.xxx.com这样访问 这样默认是走http服务 也就是80端口 怎么办呢?
很简单 再配置一段 如下
server { listen 80; server_name www.xxx.com; location / { root /web; index location.html; } } server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/你的.crt; ssl_certificate_key /etc/nginx/ssl/你的.key; server_name www.xxx.com; location / { root /web; index index.html; } }
然后在你的web站点下新建location.html 内容如下:
<html> <meta http-equiv="refresh" content="0;url=https://www.xxx.com" /> </html>
利用 meta标签的跳转将访问域名指向你的https服务 最后 大功告成 访问下试试