Nginx下让网站使用HTTPS协议

现在越来越多的网站使用HTTPS协议了,并且阿里云提供免费的ca证书(前提是主机也在阿里云买的),于是果断把站点从http切换到HTTPS.
过程很简单,去阿里云购买CA证书,购买后需要填写些资料,然后提交审核,阿里云的审核速度还是相当快的,当天或次日就可得结果.

第一步:增加站点的https配置文件

# 把现有的配置文件复制一个
cp /etc/nginx/conf.d/com.abc.conf  /etc/nginx/conf.d/com.abc.https.conf
vi /etc/nginx/conf.d/com.abc.https.conf

把监听端口由80改为443,并往server配置段里添加ssl相关的配置:

server {
    listen       443;
    server_name  abc.com abc.com;
    # 为一个server{......}开启ssl支持  
    ssl on;
    # 指定 PEM 格式的证书文件 
    ssl_certificate   /home/wwwroot/webs/com.abc/cert/214029045180842.pem;
    # 指定 PEM 格式的私钥文件  
    ssl_certificate_key  /home/wwwroot/webs/com.abc/cert/214029045180842.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;
    
    ........
    .......
    ........ 站点的其它配置
}

第二步: 修改原来http访问时的配置文件

vi /etc/nginx/conf.d/com.abc.conf

把所有的 http 请求都重定向到 https,并删除其它多余的配置,最终内容如下:

server {  
    listen  80;
    server_name abc.com www.abc.com;
    rewrite ^(.*)$  https://$host$1 permanent;  
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,029评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,123评论 19 139
  • 叮铃铃的声音远远飘来,一下子把我拉回到上世纪。 小镇一如既往的祥和,一阵叮铃铃的声音由远及近。我十分好奇的跑...
    forest_avenue阅读 323评论 0 0
  • 大家好,我是 Day , 昨天再次给自己的电脑装了双系统之后就想整理一下流程留待以后参考,省得自己重复折腾。关于双...
    戴戴Day阅读 7,662评论 2 15
  • 老铁们晚上好!我是五连三排八班的兜兜有糖。很荣幸能代表我们5连发言。 我是个平凡的幼儿教师。拖延症,分不清主次抓不...
    兜兜有糖902阅读 157评论 0 2