Nginx 下配置SSL證書(shū)的方法_Web服務(wù)器教程
1、Nginx 配置 ssl 模塊
默認(rèn) Nginx 是沒(méi)有 ssl 模塊的,而我的 VPS 默認(rèn)裝的是 Nginx 0.7.63 ,順帶把 Nginx 升級(jí)到 0.7.64 并且 配置 ssl 模塊方法如下:
下載 Nginx 0.7.64 版本,解壓 進(jìn)入解壓目錄:
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信息的話(huà),
vi src/core/nginx.h
#define NGINX_VERSION "0.7.62"
#define NGINX_VER "nginx/" NGINX_VERSION
上面的版本號(hào)和nginx自己修改
編譯
[code]
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make
切記不要 make install
因?yàn)槭切【W(wǎng)站,用不著平滑升級(jí),直接 killall -HUP nginx 重啟 nginx 即可。
OK,升級(jí)并且安裝好 ssl 模塊完畢,這里我把 Nginx 修改成了 zoulu,于是乎:
怎么樣,很有個(gè)性吧!
2、使用 OpenSSL 生成證書(shū)
①、生成RSA密鑰的方法
openssl genrsa -out privkey.pem 2048
有的證書(shū)要 1024 的,所以得:
openssl genrsa -out privkey.pem 1024
②、生成一個(gè)證書(shū)請(qǐng)求
openssl req -new -key privkey.pem -out cert.csr
會(huì)提示輸入省份、城市、域名信息等,重要的是,email 一定要是你的域名后綴的,比如 webmaster@zou.lu 并且能接受郵件!
這樣就有一個(gè) csr 文件了,提交給 ssl 提供商的時(shí)候就是這個(gè) csr 文件
(來(lái)源: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 提供商即可,一般半個(gè)鐘頭到一天時(shí)間就會(huì)發(fā)給你證書(shū),如圖:
把所有文件全部上傳到一個(gè)特定的目錄,比如我是上傳到 /root/zoulu/
這里,zoulukey.pem 和 zoulucert.csr 是自己在 VPS 生成的,剩下的都是證書(shū)簽發(fā)機(jī)構(gòu)頒發(fā)的。
一般情況下,直接用證書(shū)簽發(fā)機(jī)構(gòu)頒發(fā)的 crt 文件即可,比如 zou_lu.crt ,但是有很多證書(shū)簽發(fā)機(jī)構(gòu)默認(rèn)在 Firefox 中文版下是不會(huì)信任的,經(jīng)過(guò)仔細(xì)研究,終于發(fā)現(xiàn),原來(lái)得把證書(shū)簽發(fā)機(jī)構(gòu)辦法給你的 crt 文件也放入才行。
方法如下:
合并 PositiveSSLCA.crt (證書(shū)簽發(fā)機(jī)構(gòu)的 crt) 和 zou_lu.crt (自己域名的 crt)
cat zou_lu.crt >> PositiveSSLCA.crt
mv PositiveSSLCA.crt zou_lu.crt
或者直接用記事本打開(kāi),然后復(fù)制 PositiveSSLCA.crt 里面所有的內(nèi)容到 zou_lu.crt 最下方即可。
(來(lái)源: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;
其他的配置信息和一般站點(diǎn)的一樣,不再重復(fù)。
四、訪(fǎng)問(wèn)測(cè)試結(jié)果
在 Firefox 英文版 / Chrome / Opera / Safari / IE 6、7、8 下均沒(méi)問(wèn)題, https://zou.lu/ 在 Firefox 3.5.7 中文版下沒(méi)問(wèn)題,遇到問(wèn)題的童鞋,檢查你的系統(tǒng)時(shí)間,要是還不信任,那我也不是很清楚了,抱歉能力有限。
五、如何獲得免費(fèi)的證書(shū)
https://zou.lu/ 的證書(shū)是 PositiveSSL 簽發(fā)的,這是一家 Comodo 的 Reseller ,目前可以通過(guò)如下途徑獲得:
去 NameCheap.com 注冊(cè)、轉(zhuǎn)移一個(gè)域名或者購(gòu)買(mǎi)一款空間就能獲得,而且是免費(fèi)一年的哦!
需要注意的是,NameCheap 注冊(cè)后頒發(fā)的證書(shū)沒(méi)有證書(shū)簽發(fā)機(jī)構(gòu)的 PositiveSSLCA.crt ,這里我就放一個(gè),為了大家安裝方便:
-----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 的證書(shū),缺點(diǎn)是在舊電腦,沒(méi)有更新的情況下,IE 6是絕對(duì)不信任他的,詳見(jiàn):http://blog.s135.com/startssl/
最后聲明一點(diǎn),受信任的 ssl 證書(shū)必須有獨(dú)立IP,或者說(shuō),一個(gè)IP只能對(duì)應(yīng)一個(gè)域名的證書(shū),愛(ài)玩的朋友可以弄一個(gè)玩玩。
默認(rèn) Nginx 是沒(méi)有 ssl 模塊的,而我的 VPS 默認(rèn)裝的是 Nginx 0.7.63 ,順帶把 Nginx 升級(jí)到 0.7.64 并且 配置 ssl 模塊方法如下:
下載 Nginx 0.7.64 版本,解壓 進(jìn)入解壓目錄:
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信息的話(huà),
vi src/core/nginx.h
#define NGINX_VERSION "0.7.62"
#define NGINX_VER "nginx/" NGINX_VERSION
上面的版本號(hào)和nginx自己修改
編譯
[code]
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make
切記不要 make install
因?yàn)槭切【W(wǎng)站,用不著平滑升級(jí),直接 killall -HUP nginx 重啟 nginx 即可。
OK,升級(jí)并且安裝好 ssl 模塊完畢,這里我把 Nginx 修改成了 zoulu,于是乎:
怎么樣,很有個(gè)性吧!
2、使用 OpenSSL 生成證書(shū)
①、生成RSA密鑰的方法
openssl genrsa -out privkey.pem 2048
有的證書(shū)要 1024 的,所以得:
openssl genrsa -out privkey.pem 1024
②、生成一個(gè)證書(shū)請(qǐng)求
openssl req -new -key privkey.pem -out cert.csr
會(huì)提示輸入省份、城市、域名信息等,重要的是,email 一定要是你的域名后綴的,比如 webmaster@zou.lu 并且能接受郵件!
這樣就有一個(gè) csr 文件了,提交給 ssl 提供商的時(shí)候就是這個(gè) csr 文件
(來(lái)源: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 提供商即可,一般半個(gè)鐘頭到一天時(shí)間就會(huì)發(fā)給你證書(shū),如圖:
把所有文件全部上傳到一個(gè)特定的目錄,比如我是上傳到 /root/zoulu/
這里,zoulukey.pem 和 zoulucert.csr 是自己在 VPS 生成的,剩下的都是證書(shū)簽發(fā)機(jī)構(gòu)頒發(fā)的。
一般情況下,直接用證書(shū)簽發(fā)機(jī)構(gòu)頒發(fā)的 crt 文件即可,比如 zou_lu.crt ,但是有很多證書(shū)簽發(fā)機(jī)構(gòu)默認(rèn)在 Firefox 中文版下是不會(huì)信任的,經(jīng)過(guò)仔細(xì)研究,終于發(fā)現(xiàn),原來(lái)得把證書(shū)簽發(fā)機(jī)構(gòu)辦法給你的 crt 文件也放入才行。
方法如下:
合并 PositiveSSLCA.crt (證書(shū)簽發(fā)機(jī)構(gòu)的 crt) 和 zou_lu.crt (自己域名的 crt)
cat zou_lu.crt >> PositiveSSLCA.crt
mv PositiveSSLCA.crt zou_lu.crt
或者直接用記事本打開(kāi),然后復(fù)制 PositiveSSLCA.crt 里面所有的內(nèi)容到 zou_lu.crt 最下方即可。
(來(lái)源: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;
其他的配置信息和一般站點(diǎn)的一樣,不再重復(fù)。
四、訪(fǎng)問(wèn)測(cè)試結(jié)果
在 Firefox 英文版 / Chrome / Opera / Safari / IE 6、7、8 下均沒(méi)問(wèn)題, https://zou.lu/ 在 Firefox 3.5.7 中文版下沒(méi)問(wèn)題,遇到問(wèn)題的童鞋,檢查你的系統(tǒng)時(shí)間,要是還不信任,那我也不是很清楚了,抱歉能力有限。
五、如何獲得免費(fèi)的證書(shū)
https://zou.lu/ 的證書(shū)是 PositiveSSL 簽發(fā)的,這是一家 Comodo 的 Reseller ,目前可以通過(guò)如下途徑獲得:
去 NameCheap.com 注冊(cè)、轉(zhuǎn)移一個(gè)域名或者購(gòu)買(mǎi)一款空間就能獲得,而且是免費(fèi)一年的哦!
需要注意的是,NameCheap 注冊(cè)后頒發(fā)的證書(shū)沒(méi)有證書(shū)簽發(fā)機(jī)構(gòu)的 PositiveSSLCA.crt ,這里我就放一個(gè),為了大家安裝方便:
-----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 的證書(shū),缺點(diǎn)是在舊電腦,沒(méi)有更新的情況下,IE 6是絕對(duì)不信任他的,詳見(jiàn):http://blog.s135.com/startssl/
最后聲明一點(diǎn),受信任的 ssl 證書(shū)必須有獨(dú)立IP,或者說(shuō),一個(gè)IP只能對(duì)應(yīng)一個(gè)域名的證書(shū),愛(ài)玩的朋友可以弄一個(gè)玩玩。
相關(guān)Web服務(wù)器教程:
- 推薦!各類(lèi)建站程序偽靜態(tài)規(guī)則代碼
- 詳細(xì)的DedeCMS(織夢(mèng))目錄權(quán)限安全設(shè)置教程
- iis安全設(shè)置全方位教程
- 巧妙出招致勝服務(wù)器管理
- Win Server 2003個(gè)人網(wǎng)絡(luò)服務(wù)器安全攻略
- Windows 2003校園Web服務(wù)器常見(jiàn)問(wèn)題
- 清除IIS配置文件后門(mén)隱患
- Web服務(wù)器和應(yīng)用程序服務(wù)器有什么區(qū)別
- 虛擬主機(jī)下asp.net 2.0的導(dǎo)航控件treeview,menu等出錯(cuò)
- IIS6.0服務(wù)器架站無(wú)法訪(fǎng)問(wèn)解決方案總結(jié)
- 圖解支持多語(yǔ)言環(huán)境的IIS服務(wù)器配置
- IIS服務(wù)器排錯(cuò)指南及錯(cuò)誤代碼大全
Web服務(wù)器教程Rss訂閱服務(wù)器教程搜索
Web服務(wù)器教程推薦
猜你也喜歡看這些
- 局域網(wǎng)如何防范ARP病毒攻擊
- 在多臺(tái)服務(wù)器上簡(jiǎn)單實(shí)現(xiàn)Redis的數(shù)據(jù)主從復(fù)制
- nginx 偽靜態(tài) 重定向 包括域名、目錄、文件等方法
- Web網(wǎng)關(guān)的安全和性能
- 服務(wù)器管理最容易犯的十大錯(cuò)誤
- 如何搭建自己的FTP服務(wù)器
- 磁盤(pán)陣列入門(mén):如何組建RAID系統(tǒng)
- 和你一起分析Http Handler從IIS6到IIS7的使用問(wèn)題
- RAID0、RAID1、RAID5磁盤(pán)陣列的區(qū)別
- 有關(guān)nginx upstream的幾種配置方式
- 相關(guān)鏈接:
- 教程說(shuō)明:
Web服務(wù)器教程-Nginx 下配置SSL證書(shū)的方法。