Nginx服务器如何配置使用Namecheap的免费SSL证书?

这段时间需要用WordPress做一个购物网站,为了确保连接安全,必须使用SSL,
刚好去年在Namecheap做活动时购买域名送了一个免费的SSl到现在都还没有用,刚好废物利用了!
PS:启用SSL会消耗一定服务器的cpu和内存

下班后回家开始折腾,过程如下:
一、先申请证书(将xiaohost换成你的域名的
1、SSH登陆你的VPS
2、输入命令

1
cd /usr/local/nginx/conf/

3、输入命令

1
openssl genrsa -out xiaohost.pem 2048

显示以下内容

1
2
3
4
Generating RSA private key, 2048 bit long modulus
.....+++
.+++
e is 65537 (0x10001)

4、输入命令

1
openssl req -new -key xiaohost.pem -out xiaohost.csr

根据提示依次填写

1
2
3
4
5
6
7
8
9
10
11
12
Country Name (2 letter code) [AU]:CN //输入国家简写
State or Province Name (full name) [Some-State]:SiChuan //省市
Locality Name (eg, city) []:ChengDu                             //城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Xiao Host   //组织名称或公司名称
Organizational Unit Name (eg, section) []:          //可以不用填
Common Name (eg, YOUR name) []:xiaohost.com     //输入要配置ssl的域名,如xiaohost.com,注意xiaohost.com 和www.xiaohost.com 属于不同的域名。
Email Address []:admin@xiaohost.com                     //输入邮箱

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:         //可以不用填
An optional company name []:             //可以不用填

5、输入命令

1
cat xiaohost.csr

显示以下类似信息:

1
2
3
4
5
6
7
8
9
10
11
12
-----BEGIN CERTIFICATE REQUEST-----
MIIBzTCCATYCAQAwgYwxCzAJBgNVBAYTAkNOMREwDwYDVQQIEwhTaGFuRG9uZzEO
MAwGA1UEBxMFSmlOYW4xEjAQBeNVBAoTCUp1bkdlSG9zdDEOMAwGA1UECxMFanVu
Z2UxEjAQBgNVBAMTCVNoaUp1baBMaTEiMCAGCSqGSIbcDQEJARYTYWRtaW5AanVu
Z2Vob3N45mNvbTCBnzANBgkqhkiG9w0B3QEFAAOBjQAw3YkCgYEA0R9hda1NJdoO
2tbvHevVY3fdpdn8ESpSewHC9yc9zVoc0tz9Ww5EfpDV9L222xv/Z8DlDf2pUfIG
X7F15qIQdf/VCUDNxS5Y7b44TzduMq8yQ23kB6h/dpnlFTJlDQrAl6vaoOhBcB5L
hMLAQBf1V8800MIn3nfxb9E6aoydSk8CAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GB
AJxQOaFHra/ILos8+HO8Wn/2bhfWAUR4ovyR213B/n0BQlHPfNhKbILRv9KI5EUL
dc6HCf3AALetjNiPHrfpJOCj4Ljqchu3WeodthuwRd9hzhZHCf43UiopofbfRzMp
lmAJFuUwN93IgFSrslCh66JaQceNa5x/TQIsmviuKZGC
-----END CERTIFICATE REQUEST-----

将以—–BEGIN CERTIFICATE REQUEST—–开头到—–END CERTIFICATE REQUEST—–结尾的全部内容复制下来
然后去Namecheap.com后台激活你的SSL证书
Nginx NameCheap SSL

Nginx NameCheap SSL
将csr内容粘贴进csr区域(由于没有Nginx服务器选项,下拉框选择Other)
Nginx NameCheap SSL

选择验证邮箱(你收的到邮件的邮箱,建议选择右边你域名whois信息的邮箱)然后跟着流程走,
然后你邮箱会收到验证信息
Nginx NameCheap SSL
点开验证链接,然后输入上面的优惠码,完成后十分钟就会受到Comodo寄来的数字证书。

二、配置证书
1、下载邮件附件里的xiaohost_com.zip,上传到/usr/local/nginx/conf 下面。
2、输入命令

1
2
cat  xiaohost_com.crt >> PositiveSSLCA.crt
mv PositiveSSLCA.crt  xiaohost_com.crt

2、Nginx虚拟主机添加SSL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server
    {
        listen       80;
        server_name www.xiaohost.com ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/xiaohost.com;
<strong>ssl on;
ssl_certificate jungehost_com.crt;
ssl_certificate_key jungehost.pem;</strong>

        include typecho.conf;
        location ~ .*\.(php|php5)?$
            {
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
<strong>fastcgi_param  HTTPS on; </strong>
                include fcgi.conf;
            }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

        location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

        access_log  /home/wwwlogs/xiaohost.com.log  xiaohost.com;
    }
server
    {
server_name xiaohost.com;
return 301 $scheme://www.xiaohost.com$request_uri;
}

将以上内容按照自己的配置修改,添加加粗内容到在nginx.conf 里任意一个server {}的后面即可。
然后执行

1
/usr/local/nginx/sbin/nginx -t

检查配置是否有错误,执行

1
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

重启。

原文链接:https://xiaohost.com/784.html,转载请注明出处。
0

评论3

请先
  1. 看不懂,只能支持下博主了
  2. 马克一下