参考文献:
2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问
4、nginx强制使用https访问(http跳转到https)
5、nginx ssl 107 (net::ERR_SSL_PROTOCOL_ERROR) 无法与服务器建立安全连接 解决方法
配置过程如下:
我的nginx是 yum 安装 具体安装过程参考:[转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡
一、安装相关支持库: (参考 NginxV1.8.0安装与配置)
yum -y install gcc gcc-c++ autoconf
yum -y install openssl openssl-devel
更新到最新的支持库
二、编辑配置文件
# vim /etc/nginx/conf.d/default 或 vim /etc/nginx/conf.d/example_ssl.conf
我的是 vim /etc/nginx/conf.d/example_ssl.conf
配置示例
# HTTPS server
#
server {
listen 443 ;
server_name localhost;
ssl on;
ssl_certificate /etc/nginx/ssl/xx.com.crt;
ssl_certificate_key /etc/nginx/ssl/xx.com.key; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
三、重启Nginx,完成
sudo service nginx restart
重启过程中一般会询问PEM pass phrase,这是因为RSA私钥文件有密语保护。CA在颁发证书的时候设定了一个密语保护,在知道密语的情况下,可以用OpenSSL去除保护,重启Nginx的时候就不会提示输入密语。
可能碰到的问题:
四、nginx强制使用https访问(http跳转到https)
配置
server {
listen 80;
server_name test.com;
........ rewrite ^(.*)$ https://$host$1 permanent; #添加这行强制跳转
......
}