Nginx下配置SSL证书的⽅法
默认 Nginx 是没有 ssl 模块的,⽽我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且配置 ssl 模块⽅法如下:
下载 Nginx 0.7.64 版本,解压进⼊解压⽬录:
复制代码代码如下:
wget sysoev.ru/nginx/nginx-0.7.
tar zxvf nginx-0.7.
cd nginx-0.7.64
如果要更改header信息的话,
复制代码代码如下:
vi src/core/nginx.h
#define NGINX_VERSION "0.7.62"
#define NGINX_VER "nginx/" NGINX_VERSION
上⾯的版本号和nginx⾃⼰修改
编译
[code]
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make
make
切记不要 make install
因为是⼩⽹站,⽤不着平滑升级,直接 killall -HUP nginx 重启 nginx 即可。
OK,升级并且安装好 ssl 模块完毕,这⾥我把 Nginx 修改成了 zoulu,于是乎:
怎么样,很有个性吧!
2、使⽤ OpenSSL ⽣成证书
①、⽣成RSA密钥的⽅法
openssl genrsa -out privkey.pem 2048
有的证书要 1024 的,所以得:
openssl genrsa -out privkey.pem 1024
②、⽣成⼀个证书请求
openssl req -new -key privkey.pem -out cert.csr
会提⽰输⼊省份、城市、域名信息等,重要的是,email ⼀定要是你的域名后缀的,⽐如 webmaster@zou.lu 并且能接受邮件!
这样就有⼀个 csr ⽂件了,提交给 ssl 提供商的时候就是这个 csr ⽂件
(来源:www.lsproc/blog/nginx_ssl_config/)
直接 cat cert.csr
得到⼀⼤串字符,⽐如这样:
-----BEGIN CERTIFICATE REQUEST-----
MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkhCMQwwCgYDVQQH EwNTSloxDzANBgNVBAoTBkZhbmZvdTESMBAGA1UEAxMJZzFuZm91LmRlMSIwIAYJ
KoZIhvcNAQkBFhN3ZWJtYXN0ZXJAZmFuZm91LmRlMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQC5l4PmZg6TCIpduefxq5gsLXN1JeQdBmUs+pEApeHmNoxE+R4k
VkQUJzLj5o3ltQGJzYrcIfru8NryQSxaT/5IjeFwS7nIMsx8KPkQQ71BJazsiZj+
CdLDRJj1m/SrjTsNrfYj4rFFS1FXq7uEDyreUx7fyAljx70jPSsGBOGwRQIDAQAB oAAwDQYJKoZIhvcNAQEFBQADgYEACKCBQcnCq5yE3GFyN3NyxCQEvnspkIv9AqI4
FcwqyHPZWkupp3wfubHY80IwtfjlGlTSynzE7FZLVpcbNfKLnAYlYEwDY7NukJNy
pCbyqpJJXdAl3Jcun0NlLtSxTQpR+abO8va/BAO5Hp9h1rpSRtTdSJd2fC/owRV1
BfRuJnA=
-----END CERTIFICATE REQUEST-----
提交给你的 ssl 提供商即可,⼀般半个钟头到⼀天时间就会发给你证书,如图:
nginx ssl证书配置把所有⽂件全部上传到⼀个特定的⽬录,⽐如我是上传到 /root/zoulu/
这⾥,zoulukey.pem 和 zoulucert.csr 是⾃⼰在 VPS ⽣成的,剩下的都是证书签发机构颁发的。
⼀般情况下,直接⽤证书签发机构颁发的 crt ⽂件即可,⽐如 ,但是有很多证书签发机构默认在 Firefox 中⽂版下是不会信任的,经过仔细研究,终于发现,原来得把证书签发机构办法给你的 crt ⽂件也放⼊才⾏。
⽅法如下:
合并 (证书签发机构的 crt)和 (⾃⼰域名的 crt)
cat >>
或者直接⽤记事本打开,然后复制 ⾥⾯所有的内容到 最下⽅即可。
(来源:www.lsproc/blog/nginx_ssl_config/)
③、修改 Nginx 配置
listen 443;
server_name zou.lu;
index index.html index.htm index.php;
root /home/zoulu;
error_page 404 403 zou.lu;
ssl on;
ssl_certificate /root/zoulu/;
ssl_certificate_key /root/zoulu/zoulukey.pem;
其他的配置信息和⼀般站点的⼀样,不再重复。
四、访问测试结果
在 Firefox 英⽂版 / Chrome / Opera / Safari / IE 6、7、8 下均没问题, zou.lu/ 在 Firefox 3.5.7 中⽂版下没问题,遇到问题的童鞋,检查你的系统时间,要是还不信任,那我也不是很清楚了,抱歉能⼒有限。
五、如何获得免费的证书
zou.lu/ 的证书是 PositiveSSL 签发的,这是⼀家 Comodo 的 Reseller ,⽬前可以通过如下途径获得:
去 NameCheap 注册、转移⼀个域名或者购买⼀款空间就能获得,⽽且是免费⼀年的哦!
需要注意的是,NameCheap 注册后颁发的证书没有证书签发机构的 ,这⾥我就放⼀个,为了⼤家安装⽅便:
-----BEGIN CERTIFICATE-----
MIIFAzCCA+ugAwIBAgIQTM1KmltFEyGMz5AviytRcTANBgkqhkiG9w0BAQUFADCB
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt SGFyZHdhcmUwHhcNMDYwOTE4MDAwMDAwWhcNMjAwNTMwMTA0ODM4WjBxMQswCQYD VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT
YWxmb3JkMRowGAYDVQQKExFDb21vZG8gQ0EgTGltaXRlZDEXMBUGA1UEAxMOUG9z
aXRpdmVTU0wgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9T3lY
IpPJKD5SEQAvwKkgitctVR4Q57h/4oYqpOxe6eSSWJZUDfMXukGeFZFV78LuACAY
RYMm3yDMPbOhEzEKIVx5g3mrJBVcVvC0lZih2tIb6ha1y7ewwVP5pEba8C4kuGKe
joteK1qWoOpQ6Yj7KCpNmpxIT4O2h65Pxci12f2+P9GnncYsEw3AAcezcPOPabuw
PBDf6wkAhD9u7/zjLbTHXRHM9/Lx9uLjAH4SDt6NfQDKOj32cuh5JaYIFveriP9W
XgkXwFqCBWI0KyhIMpfQhAysExjbnmbHqhSLEWlN8QnTul2piDdi2L8Dm53X5gV+
wmpSqo0HgOqODvMdAgMBAAGjggFuMIIBajAfBgNVHSMEGDAWgBShcl8mGyiYQ5Vd
BzfVhZadS9LDRTAdBgNVHQ4EFgQUuMoR6QYxedvDlMboGSq8uzUWMaQwDgYDVR0P
AQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwewYDVR0fBHQwcjA4oDagNIYy
aHR0cDovL2NybC5jb21vZG9jYS5jb20vVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5j
cmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9VVE4tVVNFUkZpcnN0LUhh
cmR3YXJlLmNybDCBhgYIKwYBBQUHAQEEejB4MDsGCCsGAQUFBzAChi9odHRwOi8v
Y3J0LmNvbW9kb2NhLmNvbS9VVE5BZGRUcnVzdFNlcnZlckNBLmNydDA5BggrBgEF
BQcwAoYtaHR0cDovL2NydC5jb21vZG8ubmV0L1VUTkFkZFRydXN0U2VydmVyQ0Eu
Y3J0MA0GCSqGSIb3DQEBBQUAA4IBAQAdtOf5GEhd7fpawx3jt++GFclsE0kWDTGM
MVzn2odkjq8SFqRaLZIaOz4hZaoXw5V+QBz9FGkGGM2sMexq8RaeiSY9WyGN6Oj5
qz2qPMuZ8oZfiFMVBRflqNKFp05Jfdbdx4/OiL9lBeAUtTF37r0qhujop2ot2mUZ
jGfibfZKhWaDtjJNn0IjF9dFQWp2BNStuY9u3MI+6VHyntjzf/tQKvCL/W8NIjYu
zg5G8t6P2jt9HpOs/PQyKw+rAR+lQI/jJJkfXbKqDLnioeeSDJBLU30fKO5WPa8Y
Z0nf1R7CqJgrTEeDgUwuRMLvyGPui3tbMfYmYb95HLCpTqnJUHvi
-----END CERTIFICATE-----
你也可以试试 Startssl 的证书,缺点是在旧电脑,没有更新的情况下,IE 6是绝对不信任他的,详见:
blog.s135/startssl/
最后声明⼀点,受信任的 ssl 证书必须有独⽴IP,或者说,⼀个IP只能对应⼀个域名的证书,爱玩的朋友可以弄⼀个玩玩。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论