ps首先我们需要把LNMP环境搭建好,可以用各种面板(宝塔、WDCP、AMH)或者lnmp这样的一键安装包。这里就不做介绍了。
1. 申请证书
申请证书的方式很多,各大云服务商那都可以买到,或者申请免费的。像阿里云、七牛云…都可以直接申请。申请完后,下载证书文件包解压,里面会有一个.key和.pem的公钥和证书文件。上传至服务器/usr/local/nginx/conf目录下(其他目录也可以,自定),
2. 配置证书
如果是lnmp安装的环境,执行执行命令lnmp ssl add命令安装提示操作就可以了。
打开网站的nginx配置文件,一般都在/usr/local/nginx/conf/vhost目录下,
server{listen 80;server_name domain.comindex index.html index.htm index.php;root /www/wwwroot/domain;...return 301 https://$server_name$request_uri; # 重定向至https}server{listen 443; #监听端口为443server_name domain.comindex index.html index.htm index.php;root /www/wwwroot/domain;ssl on; #开启sslssl_certificate /usr/local/nginx/cert/conf/domain.com.pem; #证书位置ssl_certificate_key /usr/local/nginx/cert/conf/domain.com.key; #公钥位置ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定密码为openssl支持的格式ssl_prefer_server_ciphers on; #//依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码ssl_ciphers "EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256!MD5";#密码加密方式ssl_session_cache builtin:1000 shared:SSL:10m;}
然后执行一下命令
/usr/local/nginx/sbin/nginx -t/usr/local/nginx/sbin/nginx -s reload
重启成功没有保存就说明配置没有问题,然后就可以使用https:访问网站了。
重启时如果报如下错误,说明nginx里面没有编译进ssl模块[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:17
网上找找到的这个方法成功解决
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
