nginx 配置https Ubuntu版本:16.0 gcc版本:.5.4
- nginx.conf配置文件https改成如下
#http server{ rewrite ^(.*)$ https://$host$1 permanent;#把http的域名请求转成https } #htpps server { listen 443; server_name www.supgo.cn;#域名 ssl on; ssl_certificate /usr/local/nginx/cert/3074426_www.supgo.cn.pem;#证书文件.pem ssl_certificate_key /usr/local/nginx/cert/3074426_www.supgo.cn.key;#证书文件.key ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; #转发配置写此位置 }
- 重启nginx:
./usr/local/nginx/sbin/nginx
若出现错误 nginx: [emerg] unknown directive "ssl"......
原因:缺少ngx_http_ssl_module
解决步骤:关闭nginx后
- 进入目录nginx-1.xx.x
- 执行 :更新
sudo apt-get update
- 执行 : 安装ssl-dev
./configure --prefix=/usr/local/nginx --with-http_ssl_module
- 执行:安装
make
如果make还是报错:尝试执行:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
之后再make
注:make之后不要执行make install会覆盖安装 - 执行 : 把编译好的nginx覆盖掉原有的nginx。
cp ./objs/nginx /usr/local/nginx/sbin/
- 重启即可
./configure --prefix=/usr/local/nginx --with-http_ssl_module