查看: 3110|回复: 25

Nginx下绑定自己签发的免费SSL数字安全证书

[复制链接]
发表于 2013-2-12 10:45:05 | 显示全部楼层 |阅读模式
由于HTTP协议明文传输数据,使得嗅探无处不在,因此对某些网站如购物交易类、注册登陆类等,需要开启HTTPS协议来增加安全性,保证用户的密码不被盗取和嗅探。

HTTPS需要SSL数字安全证书的支持,一般找浏览器信任的CA机构签发数字证书都是要收费的,价格一般在13美元/年至50美元/年不等。(除了StartSSL和PositiveSSL)

如果证书只是给自己用的,防止在线管理时密码被窃听,则可以自行颁发免费的SSL数字安全证书。
Debian5 + OpenSSL + Nginx环境步骤如下:

一、使用OpenSSL生成SSL数字安全证书
openssl genrsa -out privkey.pem 2048
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

上述命令中第一步是生成用户证书 RSA 密钥对,且不带密码。
第二步是证书请求生成和自签名,此时会要求输入参数,随便填,但Common Name必须填即将使用HTTPS的站点名称,比如:*.yourdomain.com 。

二、确保Nginx支持OpenSSL模块
Nginx默认是不支持SSL的,需要重新配置和编译,命令如下:
wget http://nginx.org/download/nginx-0.7.65.tar.gz
tar zxvf nginx-0.7.65.tar.gz
cd /root/nginx-0.7.65
./configure --with-http_stub_status_module --with-http_ssl_module
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp ./objs/nginx /usr/local/nginx/sbin/nginx
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

上述命令其实也是一次标准的Nginx升级操作,其中的目录需要用户根据具体情况自行更改。
另外,用户也可以在编译前注释掉 auto/cc/gcc 中的 CFLAGS=”$CFLAGS -g” 这行,使Nginx不以Debug模式编译,节约文件和内存占用、提高速度。

三、修改Nginx配置
修改nginx.conf中相应的server段:
server
{
listen 443;
ssl on;
ssl_certificate /etc/ssl/cacert.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
server_name www.myhack58.com;
index index.html index.htm index.php;
root /home/wwwroot/yourdomain;
......


......
}

其中SSL数字证书路径和域名路径也应根据实际情况修改。

四、重启Nginx
上传nginx.conf后,测试配置文件是否正确,并重启Nginx:
/usr/local/nginx/sbin/nginx -t
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

五、使用HTTPS协议访问网站
键入https://www.myhack58.com 会出现警告框:

由于是自己使用,点击查看证书-安装证书,下次就不会再弹出该警报框。

至此,你就可以使用HTTPS协议安全的访问网站,不用担心用户名和密码会在传输过程中被嗅探、盗取。
发表于 2013-2-16 23:12:12 | 显示全部楼层
我假装认真地工作,老板假装认真地付薪水  
发表于 2013-2-17 10:00:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2013-2-19 19:42:48 | 显示全部楼层
我在努力中  
发表于 2013-2-23 21:22:22 | 显示全部楼层
站个位在说  
发表于 2013-2-27 07:50:54 | 显示全部楼层
我在努力中  
发表于 2014-10-9 15:41:57 | 显示全部楼层
厉害!强~~~~没的说了!  
发表于 2014-12-26 13:03:16 | 显示全部楼层
慢慢来,呵呵  
发表于 2015-1-26 18:02:50 | 显示全部楼层
我卷了~~~~~~~  
发表于 2015-2-28 19:07:56 | 显示全部楼层
老大,我好崇拜你哟  
高级模式
B Color Image Link Quote Code Smilies

本版积分规则