宝塔面板开启HTTPS并自定义证书

HTTPS可以对网页传输的数据进行加密,并提供可靠的验证方法,保证了传输机密数据(如密码,身份证号码等)的安全性,同时防止第三方劫持和插入广告。可是道高一尺魔高一丈,部分不良ISP已经开发出了“HTTPS降级劫持”这种操作,可以把用户的https请求降级为http页面,对于部分强制https的网站,甚至还有反代出http的界面这种丧心病狂的操作。因此HTST(HTTP Strict Transport Security)应运而生,HSTS是一个http响应头,告诉浏览器我的网站必须要使用https,但是如何把HSTS传递给用户呢?一般来说有两种方案

1.网页自带https响应头,这样成功加载一次hsts响应头后就不会被劫持。但是这种方案也有可能被http劫持
2.使用HSTS-Preload方案,浏览器本身自带使用hsts的域名,强制使用https,可以说是目前最安全的方案了。不过HSTS-preload加入很慢,而且要求高。
我们可以看https://hstspreload.org/的要求:

  1. Serve a valid certificate.
  2. Redirect from HTTP to HTTPS on the same host, if you are listening on port 80.
  3. Serve all subdomains over HTTPS.
    • In particular, you must support HTTPS for the www subdomain if a DNS record for that subdomain exists.
  4. Serve an HSTS header on the base domain for HTTPS requests:
    • The max-age must be at least 31536000 seconds (1 year).
    • The includeSubDomains directive must be specified.
    • The preload directive must be specified.
    • If you are serving an additional redirect from your HTTPS site, that redirect must still have the HSTS header (rather than the page it redirects to).

我们看其中最重要的要求:

max-age,代表接下来的时间内都必须要用https
includeSubDomains,代表子域名也必须使用https

那么问题来了,宝塔面板默认可是http的,即使开启了面板ssl也是自签证书,肯定不符合hsts要求,那么应该怎么办?其实宝塔支持自定义证书的,而且很方便开启,可以直接跳过自签证书。

1.在宝塔设置页面中,点击面板SSL,注意点击文字,不是开关

图1 面板SSL

2.输入自定义证书,可以根据域名自行申请,或者直接使用域名的野卡证书。

图2 宝塔自定义面板证书

3.开启面板SSL(这次是点击开关)

通过上述步骤操作后,宝塔面板便只能通过https访问了。而且直接是可信证书,跳过了宝塔自签的证书。

CentOS6用于好像无法使用面板SSL,貌似是pip版本过低,导致pip无法安装openssl。建议使用CentOS7系统。

评论

  1. hu
    Windows Chrome 90.0.4430.212
    3月前
    2021-5-12 10:13:10

    什么是key,什么是pem?
    我用openssl生成的只有pem文件和csr文件

    • 留连暗香 博主
      Windows Edge 92.0.878.0
      3月前
      2021-5-12 14:01:54

      建议去申请一个腾讯云的免费证书。openssl的自签证书和宝塔自己生成的也差不多,浏览器不信任。
      腾讯云生成的证书里面,用nginx文件夹下面的就行

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇