使用StartSSL为你的服务器加密
目前越来越流行https的网站了,作为个人如何给自己的web服务器升级呢?不要错过免费的StartSSL。
来自以色列的StartSSL据说已经被一家中国公司收购(ps)。
那么,具体如何实施呢?接下来我们一步走。
登陆https://startssl.com,注册一个账号。它会要求你安装一个证书,凭借此证书才可以进入管理界面。
安装好证书后,选择Validations Wizard。验证你的域名,这时,你必须关闭域名商对你的域名信息保护,过不了几分钟即可生效。选择你注册的邮箱,它会向你的邮箱发一封验证邮件,从邮箱获取验证码,证明你拥有这个域名。
验证域名后,就要开始制作证书了,选择Certificates Wizard。选择DV SSL Certificate,输入你的二级域名。然后生成key和scr文件,命令如下
openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr
注意一点:Common Name填之前写的域名
接着,cat yourname.csr。将csr内容填到网页中。
提交网页,然后就生成了 certificate文件。
将文件下载下来,选择Nginx的压缩包,将里面的crt文件上传到你的服务器上。(例如/data/server)
为了安全起见,一般建议chmod 400一下key,csr,crt文件。
接下来,将你的key文件做一下处理,去除必须的口令。
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
紧接着,配置域名server。
server{
listen 80;
server_name 你的域名;
rewrite ^(.*) https://$server_name$1 permanent;
#不想跳转的话注释掉上一句,将下面location / 到location ~之间的内容copy过来即可
}
server{
listen 443;# ssl;
server_name 你的域名;
location / {
root 项目路径;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root 项目路径;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
ssl on;
ssl_certificate crt文件路径/server.crt;
ssl_certificate_key key文件路径/server.key;
}
重启nginx,恭喜你完成升级
参考博客: