网站首页 > 技术教程 正文
SSL已经不是什么新鲜东西了,早在前几个月就有消息称,Chrome将逐渐把所有的HTTP网站标记为“不安全”的红色警告。虽说此博客为全静态,且不涉及到密码登录与支付相关页面服务,但是小绿锁对于爱折腾的我的诱惑还是挺大的。这里记录了Nginx下开启SSL的过程与优化。
申请证书
本站用的是腾讯云申请的由亚洲诚信免费提供的DV SSL证书,有效期一年。网上有很多证书的获得方式,这里不再赘述(七牛云、阿里云等均有免费SSL证书提供申请)
腾讯云免费SSL证书
阿里云免费SSL证书
申请后会得到2个文件,一个.crt后缀、一个.key后缀。这里我们将它们上传到nginx目录下。
修改配置
登录服务器,输入
nginx -V
查看输出中是否包含http_ssl,如果没有,请参考此文
打开该站点的.conf文件,修改server块如下:
server { listen 80; #新增监听443端口,并指定443为ssl: listen 443 ssl; server_name www.chutest.cn; #ssl配置 ssl_certificate xxx.crt; #证书公钥文件路径(替换为自己的证书路径与文件名) ssl_certificate_key xxx.key; #证书私钥文件路径(替换为自己的证书路径与与文件名) ssl_session_timeout 5m; #5分钟session会话保持 ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM; #ssl配置 location / { #其他规则保持不变 } }
保存退出,执行nginx -t,提示success,则执行nginx -s reload
部分优化
我们需要对http做跳转到https
添加一个server模块,监听80端口请求:
#301跳转
server {
listen 80;
server_name www.chutest.cn chutest.cn;
return 301 https://www.chutest.cn$request_uri;
}
部分还有http的页面会被提示不安全
我们只需要将页面内非https资源去除即可(或者将其转为https)
旧版的腾讯公益404页面调用的js是不支持https的,这里可以替换为新版的:
title: 404错误|Alliot's blog
layout: false <!--设置标题,同时取消layout-->
---
<!DOCTYPE HTML>
<html>
<head>
<title>404错误|Alliot's blog</title>
<meta name="description" content="404错误,页面不存在!">
<meta http-equiv="content-type" content="text/html;charset=utf-8;">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="robots" content="all">
<meta name="robots" content="index,follow">
</head>
<body>
<script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homePageUrl="https://chutest.cn" homePageName="回到我的博客"></script>
</body>
</html>
遗留问题
之前以为配置错误,原来是因为缓存的原因。
考虑到SEO的因素(强迫症),我想做到一篇文章只有唯一的URL,即不管访问www.chutest.cn 还是 http://chutest.cn 亦或者是 http://www.chutest.cn ,均301自动跳转到https://www.chutest.cn , 也就是说 https://www.chutest.cn 作为唯一的访问Url。
我想直接通过两次的301达到这个目的:
server {
listen 80;
server_name www.chutest.cn iots.vip;
return 301 https://www.chutest.cn$request_uri;
}
server {
listen 443;
server_name chutest.cn;
return 301 https://www.chutest.cn$request_uri;
}
上面的空格必须要,不能丢。因为nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格。
PS:如果此文为您解决燃眉之急或是带来些许明朗,那就关注吧
猜你喜欢
- 2024-09-09 「Nginx」Web/代理服务器的瑞士军刀:重写与定位
- 2024-09-09 ingress-nginx常用注解指南(nginx详细讲解)
- 2024-09-09 Nginx反向代理常用配置(nginx反向代理设置)
- 2024-09-09 nginx+springboot使用https重定向的解决办法
- 2024-09-09 Nginx从0基础到进阶实战!运维工程师必看
- 2024-09-09 深度|掌握Nginx监控运维,这一篇足矣!
- 2024-09-09 详解nginx配置location总结及rewrite规则写法
- 2024-09-09 nginx 使用技巧配置(nginx 配置详解)
- 2024-09-09 nginx之Rewrite实战(nginx rewrite_by_lua)
- 2024-09-09 详解 Nginx配置静态内容服务器|附案例说明
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)