Nginx配置SSL部署HTTPS服务

本教程使用StartSSL提供的免费SSL证书+LNMP环境为例

Step01: 申请SSL证书,然后下载相关证书文件

Nginx配置SSL部署https服务
如何申请StartSSL免费SSL证书?自己Google或百度相关教程,这里就不写了。

Step02: 操作服务端,创建存放证书文件目录,上传之

mkdir -p /usr/local/nginx/conf/ssl
cd /usr/local/nginx/conf/ssl

Step03: 将中间证书和域名证书合并成一个,顺便更改根证书后缀

cat sub.class1.server.ca.pem >> yourdomain.crt && rm -f sub.class1.server.ca.pem && mv ca.pem ca.crt

Step04: 检查一下刚才合并的域名证书有无出错

vim yourdomain.crt

END和BEGIN必须是上下隔开,不可以同一行并排,否则会出错的。

-----END CERTIFICATE----------BEGIN CERTIFICATE-----

如果你见到的内容是上面这样,那就手动修改一下,改成上下两行。

-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----

Step05: 如果你在StartSSL申请的证书有填写key密码的话,那么就得配置key文件避免重启Nginx时需要输入key密码

openssl rsa -in yourdomain.key -out yourdomain.key.unsecure   #需要输入你的key密码

Step06: 添加SSL参数到nginx的域名配置文件

vim /usr/local/nginx/conf/vhost/yourdmain.conf

在server {}底部添加SSL参数

server
{
listen      443;
server_name my.miefen.com;
index index.html index.htm index.php;
root  /home/wwwroot/my.miefen.com;

ssl on;
ssl_certificate /usr/local/nginx/conf/ssl/my.miefen.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/my.miefen.com.key.unsecure;
ssl_trusted_certificate /usr/local/nginx/conf/ssl/ca.crt;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3;  ##如果不加入SSLv3的话, IE6用户无法访问你的网站,反之如果不想IE6用户访问你的网站的话,去掉SSLv3即可
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

location ~ .*.(php|php5)?$
{
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param  HTTPS on;
include fastcgi.conf;
}
access_log  off;
}

按一下”Esc”键退出编辑模式,按住Shift不放再按两下”z”即可保存

Step07: 检查nginx文件配置是否正确

/usr/local/nginx/sbin/nginx -t

如果没有错误提示的话,重启nginx即可

/etc/init.d/nginx restart

完。
 
 
 
本站文章除注明转载外, 均为本站原创编写.
转载请注明:文章转载自:咩粉——探寻MJJ的奥秘 [https://miefen.com]
本文标题:Nginx配置SSL部署HTTPS服务
本文地址:https://miefen.com/201408/configuring-https-servers-on-nginx

4 thoughts on “Nginx配置SSL部署HTTPS服务

发表评论

电子邮件地址不会被公开。 必填项已用*标注