一、什么是https
简单的说,他就是安全加强版的http。
二、https的应用
1、网银类支付类平台
2、需要保证数据安全的oa办公平台
3、注册类、用户中心、代理平台
4、开放接口类
5、耍酷类 (我就属于这种类别)
三、SSL证书
1、https需要依靠ssl证书,在服务器和客户端直接进行加密解密数据传输。该证书由ca颁发,可以在证书颁发机构申请或购买,也可以自行制作。
2、证书生成
windows2003下管理工具中“证书颁发机构”可以实现证书制作。
inux下可以使用openssl 命令制作证书。
# openssl genrsa -des3 -out sgfblog.com.key 1024 # openssl req -new -key sgfblog.com.key -out sgfblog.com.csr # openssl rsa -in sgfblog.com.key -out sgfblog.com.nopass.key
最后一个命令是为了生成不带密码的证书文件。具体过程不再详详述。
四、Nginx配置
Nginx服务器的安装与配置请参考 https://www.sgfblog.com/archives/140
https 采用的默认端口是443,配置如下:
server{
listen 443;
server_name www.sgfblog.com;
location / {
root /var/www/html;
index index.php;
}
include /var/www/html/nginx.htaccess;
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php{
root /var/www/html;
fastcgi_pass www.sgfblog.com:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/htmlfastcgi_script_name;
include fastcgi_params;
}
ssl on;
ssl_certificate /var/www/cert/sgfblog.com.crt;
ssl_certificate_key /var/www/cert/sgfblog.com.nopass.key;
}
可以看出上述配置与普通的站点配置有所不同(第2行不同、新增了29-31行)
第2行监听的不再是80端口,而是443了。
ssl on; 指的是开启ssl
ssl_certificate 指的是crt文件的地址
ssl_certificate_key 指的是key文件的地址。
然后重新启动nginx就可以
service nginx restart
需要主要的是key如果是带密码才能引入的,在(重新)启动nginx需要输入密码。所以上文说生成了个nopass的key文件。
如果nginx是开机自动启动的并且key文件需要密码,那么再登陆系统之前就会有控制台让你输入这个密码,比较麻烦。