nginx配置https

获取证书

获取证书可以前往阿里云购买
将证书还有私钥放置在指定目录,然后再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配置https
配置好以后,启动或者重启nginx

cd /usr/local/nginx/sbin

./nginx -s reload

报错

在配置好以后,在启动nginx报错:
原因是:nginx没有安装 SSL模块
nginx配置https

安装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模块已经安装成功
nginx配置https

上一篇:show_slave_status参数详解


下一篇:关于CentOS命令连接ftps(ftp over ssl/tls)的方法