Nginx安装SSL证书需要两个配置文件:1_root_bundle.crt、 2_domainname.com.key。
注:这三个证书文件都在文件夹for Nginx.zip中,
例:1_root_bundle.crt是根证书链(公钥),2_ domainname.com.key为私钥。(其中:证书公钥、私钥文件一般以您的域名命名;证书后缀名crt和cer的性质是一样的)。
证书合成后,下面进行正式安装。
一.Nginx安装。
1.先安装openssl。
(1) 解压openssl:tar zxvf openssl-0.9.8k.tar.gz
(2) 进入openssl目录:cd openssl-0.9.8k
(3) 配置openssl:./config shared zlib make make test make install mv /usr/bin/openssl /usr/bin/openssl.save mv /usr/include/openssl /usr/include/openssl.save mv /usr/lib/libssl.so /libssl.so.save ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl /usr/include/openssl ln -sv /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so
2.安装Nginx。
(1)解压Nginx:tar zxvf nginx-1.4.0.tar.gz
(2)进入目录:cd nginx-1.4.0
(3)配置nginx,例:
nginx路径是:/usr/local/nginx
openssl目录是:/usr/local/openssl-0.9.8k
pcre目录是:/usr/local/pcre-8.31/
命令为:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-openssl=/usr/local/openssl-0.9.8k --with-http_ssl_module --with-pcre=/usr/local/pcre-8.31/
(4)打开Nginx安装目录下conf目录中的nginx.conf文件
找到:
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
将其修改为 :
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate 1_root_bundle.crt; (证书公钥)
ssl_certificate_key 2_ domainname.com.key; (证书私钥)
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
3.本地测试访问。
如果本地测试,请做本地解析访问:打开 系统盘:\Windows\System32\Drivers\etc\hosts 文件,用文本编辑器修改,把证书绑定的域名解析到本地ip。
4.完成配置后的效果。
启动nginx,访问https://+证书绑定的域名
注:部署完毕后若网站无法通过https正常访问,可确认服务器443端口是否开启或被网站卫士等加速工具拦截。
(1)开启方法:防火墙设置-例外端口-添加443端口(TCP)。
(2)若被安全或加速工具拦截,可以在拦截记录中将443添加至信任列表。
重启后,重新通过https访问。