程序员 shell php mysql Windows linux命令 Android Python centos Ubuntu Firefox apache linux java google HTML5 开源 微软 wordpress nginx

在Nginx上安装NameCheap免费SSL

博客关闭了一段时间,数据都丢失了几篇文章啊,之前讲域名转移到NameCheap,送了一个SSL,刚好可以按上。顺便记录下安装方法。

一、安装要求

1.Nginx已经编译ssl 模块,没有的话需要重新编译。
2.已经购买SSL证书(废话)

二、开始安装

1.先生成自己的KEY

cd /usr/local/nginx/conf/
openssl genrsa -out imcat.pem 2048

2.生成csr文件

openssl req -new -key imcat.pem -out imcat.csr

Country Name (2 letter code) [AU]:CN //输入国家简写
State or Province Name (full name) [Some-State]:JiangXi //省市
Locality Name (eg, city) []:JiuJiang //城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Yangxinlin //组织名称或公司名称
Organizational Unit Name (eg, section) []: //可以不用填
Common Name (eg, YOUR name) []:jungehost.com //输入要配置ssl的域名,如yangxinlin.cn,注意yangxinlin.cn 和www.yangxinlin.cn 属于不同的域名。
Email Address []:admin@yangxinlin.cn //输入邮箱
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: //可以不用填
An optional company name []: //可以不用填

3.去Namecheap网站启用SSL证书

进入Namecheap网站,点击SSL CERTIFICATES菜单中的My Account下方的Your SSL Certificates,如图所示:

Namecheap Comodo PositiveSSL 01 在Nginx上安装NameCheap免费SSL

选择你未曾使用过的SSL认证服务,点击右边的Active链接,既可以开始申请激活你的SSL认证。(如果已经启用可以重新颁发,选择Reissue,我的很快就过期了!)

在Nginx上安装NameCheap免费SSL

接下来我们要发送一个认证签名请求文件给Namecheap来完成激活过程,Web服务器软件没有Nginx,只有选择other,下面的csr,填写imcat.csr的内容,即前面要求复制下来的以-----BEGIN CERTIFICATE REQUEST-----开头到-----END CERTIFICATE REQUEST-----结尾的内容。

在Nginx上安装NameCheap免费SSL

按Next后,现在能收到邮件的邮箱

在Nginx上安装NameCheap免费SSL

最好就是直接提交,等待接收验证邮件,然后输入邮件的验证码就会得到SSL证书了

4.将从NameCheap哪里申请来的SSL证书解压出来,上传到/usr/local/nginx/conf/

在Nginx上安装NameCheap免费SSL

5.然后执行以下命令,合并证书

cat imcat_in.crt>>PositiveSSLCA2.crt
rm -rf imcat_in.crt
mv PositiveSSLCA2.crt imcat_in.crt

6.更改Nginx的配置

server
{
listen 443;
server_name imcat.in *.imcat.in;
index index.PHP index.htm ;
root /home/www/imcat/;

ssl on;
ssl_certificate imcat_in.crt;
ssl_certificate_key imcat.pem;

location / {
try_files $uri $uri/ /index.php;
location ~ .php$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param HTTPS on;
include fastcgi.conf;
}
}

location ~ .*.(gif|jpg|jpeg|png|bmp|swf|js|css|ttf|woff)$
{
expires 30d;
}
access_log /home/logs/imcat.in.access.log;
}

7.重启nginx就可以了。

延伸阅读

评论