获取证书
获取证书可以前往阿里云购买
将证书还有私钥放置在指定目录,然后再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模块已经安装成功