获取证书可以前往阿里云购买
将证书还有私钥放置在指定目录,然后再nginx配置的时候会用到
#进入以下目录 /usr/local/nginx/conf #编辑 vim nginx.conf
在server中添加以下配置
#--------------https配置 start------------- #指定https端口的端口,并指定http协议 listen 443 ssl http2; #指定证书的路径 ssl_certificate /usr/local/nginx/ssl/nginx.crt; #指定nginx私钥位置 ssl_certificate_key /usr/local/nginx/ssl/nginx.key; #session的超时时间 ssl_session_timeout 5m; # ssl所支持的安全层的协议 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 启用加速(以下配置为https性能优化方面配置) ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; #开启False Start 抢跑机制 ssl_prefer_server_ciphers on; #开启SSL通道保持共享 ssl_session_cache shared:SSL:10m; # 设置通道保持的时间 ssl_session_timeout 30m; # 配置 HSTS http-->https add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; #--------------https配置 end-------------------
配置好以后,启动或者重启nginx
cd /usr/local/nginx/sbin ./nginx -s reload
在配置好以后,在启动nginx报错:
原因是:nginx没有安装 SSL模块
安装SSL模块:
#进入nginx的安装目录(我的是安装在了这个目录) cd /softwore/nginx/ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module #进行编译 make #拷贝原先的nginx的启动脚本 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #关闭nginx kill -9 pid #将新的脚本拷贝到nginx的sbin目录下 cp ./objs/nginx /usr/local/nginx/sbin/ #进行查看 ./nginx -V
发现ssl模块已经安装成功