今天公司小程序发布需要配置Https证书配置完成后做个笔记
首先拿到申请下来的证书
打开解压后的文件夹:
远程登录服务器
将这两个文件拷贝到Nginx 配置文件目录下面(放在什么地方你开心就好 注:你得能找的到)
cd /usr/local/nginx/conf
上传文件至改目录下面
#编辑Nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
添加配置文件
2_www.opqnext.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。
更新Nginx根目录下 conf/nginx.conf 文件如下:
server {
listen 443;
server_name www.opqnext.com; #填写绑定证书的域名
ssl on;
ssl_certificate 1_www.opqnext.com_bundle.crt;
ssl_certificate_key 2_www.opqnext.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录
index index.html index.htm;
}
}
配置文件参数 说明
配置文件参数 说明
listen 443 SSL访问端口号为443
ssl on 启用ssl功能
ssl_certificate 证书文件
ssl_certificate_key 私钥文件
ssl_protocols 使用的协议
ssl_ciphers 配置加密套件,写法遵循openssl标准
我是这么想的,但是还是出现了问题...
问题1:unknown directive "ssl"
报错如下:
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/vhost/blog.com.conf:5
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
出现这个错误说明没有将ssl模块编译进nginx,在configure的时候加上“–with-http_ssl_module”即可
详细一点:
####### 下载你当前版本的nginx包,并且解压 进到目录
./configure --with-http_ssl_module
####### 切记千万不要make install 那样就覆盖安装了
make
####### 将原来的nginx备份 备份之前先kill当前正在启动的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
####### make之后会在当前目录生成 objs 目录
cp objs/nginx /usr/local/nginx/sbin/nginx
####### 然后重新启动nginx
/usr/local/nginx/sbin/nginx
问题2:http 转到 https
据说是有加rewrite的方法:
rewrite ^/(.*)$ http://domain.com/$1 permanent;
但是好像现在nginx新版本已经换了种写法:
鸣谢:郭贰小姐
链接:http://www.jianshu.com/p/a2bd2c82ce3d
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。