这个问题应该不是宝塔面板的问题,而是NGINX的的问题, 当你未设置默认网站时,通过 IP 可直接访问建立的第一个网站,而当你在 IP 前加上 https 访问时,Nginx 会自动返回该网站的 https 证书,从而暴露相关域名信息。
网上应该也有这些类似教程,不过宝塔的貌似较少,大鸟在这里补充下,如果你遇到问题,可以按照教程设设置。
1、举个列子
比如,打开百度,F12看下它的IP,比如我这里显示的是:180.101.49.12,在浏览器中用https://180.101.49.12 打开看下会发生个啥。
显然,该IP把百度的默认站点暴露了,如果你的服务器有好几个站点,那么就会暴露你的默认站点,由此可能暴露你的源IP。下面我们利用一个在线工具来扫描下该IP。
2、利用一个工具
相关的工具有很多,我们只需要直接扫描0.0.0.0/0就有可能获取这个站点的源IP,大鸟这里介绍一个在线工具。
网址:https://censys.io/ipv4
通过这个站点不间断地扫描来记录 IP 等信息,我们可以找到与你网站相关的很多东西,如图:
这里面关联了很多IP,很有可能有一个IP就是你源IP,如果真是这样的话,你套再多的cdn也防不住你的IP泄露。
如果你用工具已经查询到你的IP泄露了,碰巧你非常在意,那么你就需要更换一个IP了,不过,可不要傻乎乎的直接解析到自己的源站ip,我们需要做一点设置,接着往下看。
3、方法
大鸟这里以宝塔为列,我们需要事先设置一个默认站点,并配置好自签证书。
3.1 设置默认站点
宝塔新建站点,域名随便填,之后设置为默认,如图:
选择这个新建的站点为默认站点,并且删除掉改网站目录下的所有文件,如图:
3.2 添加证书
我们给这个默认站点添加一个自签的证书!!!
下载地址:
3.3 效果
效果就是根本就没有颁布给哪个域名这种东西,因此不会暴露。
3.4 可以接入你的域名了
上面的做好之后,就可以解析域名,新建网站,接入cdn了。
4、方法2
限制回源,其实我们不需要在源站放一个ssl,你只要 CDN 设置为 http 回源,CDN 使用 https 就行了,不要用协议跟随。
cloudflare设置的话,我们可以设置为{full}记得一点就是不要把自己的网站设为默认站点,默认站点的意思就是说直接访问IP,你这个网站就会显示出来不需要带域名!
5、最后
这里介绍了2种比较简单的方法,可以酌情使用。值得一提的是,如果我们使用邮件功能话,那肯定 会暴露自己的站点ip(收信用户可以在邮件头信息中直接查看来源 IP)。可能有些企业邮局,有隐藏源站IP的功能。我们可以选择这类更安全的邮件系统。