nginx开启ssl证书,实现https安全访问

按照腾讯云要求获取ssl证书。

腾讯云获取ssl证书

nginx模块开启ssl.

  • 确保nginx安装了ssl模块,否则启动会报错nginx: [emerg] unknown directive "ssl",具体安装参考
  • 将在腾讯云获取的nginx证书(根据服务器不同会生成不同的ssl文件,这里选择nginx),放在nginx的某个目录下,笔者跟conf文件夹平级建了cert文件夹。
  • 配置nginx.conf文件
server {
        listen     80;
        listen 443 ssl; //同时支持https和http要这样写,注意不能用 ssl on
        server_name  www.domain.cn;//监听的域名
        ssl_certificate ../cert/1_www.domain.cn_bundle.crt;//获取到的crt文件
        ssl_certificate_key ../cert/2_www.domain.cn.key;//ssl的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;
	}
  • 测试一下,看配置文件是否正确,/usr/local/nginx/sbin/nginx -t。若配置无误,显示成功。
  • 重启nginx,如无意外,网站目前支持https和http同时访问。

若https不能访问,从以下排查原因

  • 若使用了阿里云的ecs,则需要把80和443端口暴露出来。可以telnet 测试,
  • 检查本机防火墙,是否开启。
  • 检查443端口是否监听,若没有监听,则将nginx关闭/usr/local/nginx/sbin/nginx -stop,然后重新开启/usr/local/nginx/sbin/nginx注意不要nginx -s reload
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章