- 在阿里云申请免费的,需求填写一些信息,2个工作日吧,中间需要审核,请及时关注
- 下载证书:包括:.key和.pem文
- 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。
- 如果以前有使用80端口部署过网站,80端口的配置需要改,不再转发到php-fpm,现在重定向到https网址:
server {
listen 80;
server_name ssl.tanguu.com;
rewrite ^(.*) https://ssl.tanguu.com$1 permanent;
}
- 添加443端口配置,nginx配置:
server {
listen 443;
server_name ssl.tanguu.com;
ssl on;
root /data/www/ssl.tanguu.com;
index index.php index.html index.htm;
ssl_certificate cert/214156547860638.pem;
ssl_certificate_key cert/214156547860638.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 /data/www/ssl.tanguu.com;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/ssl.tanguu.com$fastcgi_script_name;
fastcgi_param HTTPS on;
include fastcgi_params;
}
}
- 重启nginx
- 使用https前缀访问:https://ssl.tanguu.com
遇到的一些问题:
访问index.php文件,会直接下载该文件:因为浏览器缓存的原因,换个浏览器试试就好了
原理
http://img.blog.csdn.net/20130924102812796
服务器 用RSA生成公钥和私钥
把公钥放在证书里发送给客户端,私钥自己保存
客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产生一段随机数,这个随机数就作为通信的密钥,我们称之为对称密钥,用公钥加密这段随机数,然后发送到服务器
服务器用密钥解密获取对称密钥,然后,双方就已对称密钥进行加密解密通信了