Nginx 下配置SSL证书的方法

 更新时间:2010年08月24日 00:02:11   作者:  
默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下
1、Nginx 配置 ssl 模块
默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下:
下载 Nginx 0.7.64 版本,解压 进入解压目录:
复制代码 代码如下:

wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
tar zxvf nginx-0.7.64.tar.gz
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 文件

(来源:http://www.lsproc.com/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 提供商即可,一般半个钟头到一天时间就会发给你证书,如图:

把所有文件全部上传到一个特定的目录,比如我是上传到 /root/zoulu/

这里,zoulukey.pem 和 zoulucert.csr 是自己在 VPS 生成的,剩下的都是证书签发机构颁发的。

一般情况下,直接用证书签发机构颁发的 crt 文件即可,比如 zou_lu.crt ,但是有很多证书签发机构默认在 Firefox 中文版下是不会信任的,经过仔细研究,终于发现,原来得把证书签发机构办法给你的 crt 文件也放入才行。

方法如下:

合并 PositiveSSLCA.crt (证书签发机构的 crt) 和 zou_lu.crt (自己域名的 crt)

cat zou_lu.crt >> PositiveSSLCA.crt

mv PositiveSSLCA.crt zou_lu.crt

或者直接用记事本打开,然后复制 PositiveSSLCA.crt 里面所有的内容到 zou_lu.crt 最下方即可。

(来源:http://www.lsproc.com/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 http://zou.lu;

ssl on;
ssl_certificate /root/zoulu/zou_lu.crt;
ssl_certificate_key /root/zoulu/zoulukey.pem;

其他的配置信息和一般站点的一样,不再重复。
四、访问测试结果

在 Firefox 英文版 / Chrome / Opera / Safari / IE 6、7、8 下均没问题, https://zou.lu/ 在 Firefox 3.5.7 中文版下没问题,遇到问题的童鞋,检查你的系统时间,要是还不信任,那我也不是很清楚了,抱歉能力有限。
五、如何获得免费的证书

https://zou.lu/ 的证书是 PositiveSSL 签发的,这是一家 Comodo 的 Reseller ,目前可以通过如下途径获得:

去 NameCheap.com 注册、转移一个域名或者购买一款空间就能获得,而且是免费一年的哦!

需要注意的是,NameCheap 注册后颁发的证书没有证书签发机构的 PositiveSSLCA.crt ,这里我就放一个,为了大家安装方便:
-----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是绝对不信任他的,详见:http://blog.s135.com/startssl/

最后声明一点,受信任的 ssl 证书必须有独立IP,或者说,一个IP只能对应一个域名的证书,爱玩的朋友可以弄一个玩玩。

相关文章

  • 【Linux】Linux中常用操作命令总结

    【Linux】Linux中常用操作命令总结

    这篇文章主要介绍了【Linux】Linux中常用操作命令总结,Linux,免费开源,多用户多任务系统。本文总结了一些实用常用命令,需要的朋友可以参考下。
    2016-11-11
  • Linux中的tcpdump命令示例详解

    Linux中的tcpdump命令示例详解

    这篇文章主要给大家介绍了关于Linux中tcpdump命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 如何搭建自己CDN服务器(LuManager)

    如何搭建自己CDN服务器(LuManager)

    这篇文章主要介绍了如何搭建自己CDN服务器(LuManager),需要的朋友可以参考下
    2016-04-04
  • 浅谈互斥锁为什么还要和条件变量配合使用

    浅谈互斥锁为什么还要和条件变量配合使用

    下面小编就为大家带来一篇浅谈互斥锁为什么还要和条件变量配合使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux修改主机名(hostname)的两种方法(亲测可用)

    Linux修改主机名(hostname)的两种方法(亲测可用)

    要想在虚拟机的 Linux 系统内部改变主机名(hostname),需要通过系统的配置来修改,在大多数基于 Red Hat 的 Linux 发行版(比如 CentOS、Fedora)中,本文小编给大家介绍了;两种修改主机名的方法,感兴趣的小伙伴跟着小编一起来看看吧
    2023-11-11
  • 宝塔Linux面板 2.8.9稳定版介绍

    宝塔Linux面板 2.8.9稳定版介绍

    这篇文章主要介绍了宝塔Linux面板 2.8.9稳定版介绍,需要的朋友可以参考下
    2017-04-04
  • 最完的htaccess文件用法收集整理

    最完的htaccess文件用法收集整理

    最完的htaccess文件用法收集,这篇文章确实很详细,需要的朋友可以参考下
    2012-05-05
  • 详解CentOS 7 网卡命名修改为eth0格式

    详解CentOS 7 网卡命名修改为eth0格式

    这篇文章主要介绍了详解CentOS 7 网卡命名修改为eth0格式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • yum 命令使用讲解

    yum 命令使用讲解

    这篇文章主要介绍了yum 命令使用讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • CentOS服务器下安装Webmin管理系统的步骤

    CentOS服务器下安装Webmin管理系统的步骤

    如果你想像windows图形化管理系统,Webmin无疑是最好的选择。
    2011-03-03

最新评论