服务器隐藏真实ip


[success]今天有一位经常逛我博客的朋友留言说要隐藏ip。我刚开始也不知道这个是什么,后面他发了邮件给我,然后我就照着邮件说的去百度了一下,所以就打算写这篇文章,说一下这个东西的重要性[/success]

这里非常感谢@buvidcai指出这个问题。欢迎大家参观他的网站https://buzhimaple.com/

为什么隐藏需要隐藏自己网站的ip?

直接看着这两篇文章

1.网站安全防护之隐藏真实IP

2.浅谈个人博客网站or屌丝vps服务器暴露真实IP的危险性

如何隐藏真实ip?

1.是利用国内外一些免费的CDN加速服务。比如国内的百度云加速、加速乐、360网站卫士以及安全宝,国外的CloudFlare。

2.考虑入住阿里云或腾讯云,然后使用免费的WAF防御服务,也能使用cname解析,起到改变网站IP的效果

3.使用盾机服务

4.使用域名导向

我们先来使用一下腾讯云的CDN服务。这个是我谷歌看别人推荐的还不错的,大家可以自己找一个适合的就可以了。

腾讯可以提供每月10G的免费流量。我这里因为是新用户注册,所以每月还有50G免费加速流量,所以感觉还是不错的。

开通好cdn后我们进入管理中心。

然后添加一下我们的域名,其实这里按照默认填就好了。

添加后提示是否需要进入域名管理,这里我们用的是阿里云的域名,所以这里就直接进入更多配置了。

然后我们配置一下CNAME。

我们到阿里云的域名解析那里直接添加记录就可以了。

记录值填上我们的CNAME值就好了。

[dangerbox title=”注意”]

我们这里需要把原来的这个解析记录全部删除,因为cdn的作用就相当于把我们的服务器的内容缓存起来,我们访问域名其实就相当于访问cdn服务器。

[/dangerbox]

至于cdn的配置,大家默认就好,如果你有特殊要求的话自己看官方文档。。。

这里补充一下https的设置。

下面的配置写成这样

自己把自己从阿里云申请的证书的pem格式的内容和key填进去就好了。下面记住要选择协议跟随。

1、域名要有备案号,网站必须合法

2、要结合网站实际情况配置缓存时间,别乱缓存一气,导致CDN越用越慢

3、回源域名,不能和当前CDN域名一样,注意修改为源站域名,系统有时候会默认为当前CDN域名

4、Wordpress博客,推荐搭配WP-Super-Cache缓存插件使用

下面我们可以来ping一下我们的域名

如果没问题,下面就出现的不是我们服务器的ip地址。

然后我们同样可以发现,我们博客的访问速度瞬间加快了很多,因为这个是缓存了我们的页面,相当于加速了一样。

当然,cdn是收费的,所以大家觉得贵的就可以别用了。。。

当然,做完了这一步还是远远不够的,我们还需要解决一下回源域名的问题。

因为wordpress并不是纯静态的页面,所以当你访问后台时无法访问导致

所以我们需要先到缓存配置那里把我们wordpress的后台加进去,让它不要缓存我们的后台。

这里可以看一下我的设置

然后下面我们还要记得把回源域名给改一下,我们可以自己到阿里云里面添加一个域名作为回源域名。注意这个域名指向我们的服务器ip。

还有宝塔里面也要记得把我们的回源域名给加上去。

还有最后也是最重要的一步就是wordpress多域名访问,因为我们的回源域名也要确保可以正常访问wordpress,我们可以修改配置文件(wp-config)。

大家可以先到到这一行

[block]

define('WP_DEBUG', false);

[/block]

然后在下面添加下面的代码就可以了

[highlight lanaguage=”PHP”]

$domain = array("xiaoyou66.com", "域名2", "域名3"); 
if(in_array($_SERVER['HTTP_HOST'], $domain)){
    define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
    define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
}
//下面这个是确保域名可以正常访问资源
define( 'WP_CONTENT_URL', '/wp-content');

[/highlight]

 

然后后面就可以正常的访问后台了。。。。

这样不仅加速了我们的博客访问,而且还隐藏了我们的正式ip,一举两得。。

还有其他的我这里就暂时不介绍了,这里我也只用过这种方法。

[dangerbox title=”遇到的坑”]

1.如果无法访问页面或者从其他页面跳转过来无法访问的话,一般是防盗链的问题

2.防盗链把白名单设置为空还是无法访问的情况建议重新部署一遍,我就是这样搞好的

如果按我上面这样设置的话,有非常多问题,因为wordpress并不是纯静态的,首先第一个就是两个域名的冲突问题,文章界面跳转链接你要想办法整成相对链接。同时我这个还涉及到评论提交的问题,因为我得到评论提交是用ajax异步提交的,所以还要解决ajax异步加载的跨域问题。总之,不建议全部缓存,我们可以只缓存静态资源,比如图片,css,js等样式。

[/dangerbox]

下面我把我其中的一些解决方案记下来把。

1.全文如何相对链接

其实加一个函数就可以解决这个问题

[highlight lanaguage=”PHP”]

//全站显示相对路径同时优化sitemap
add_filter( 'home_url', 'cx_remove_root' );
function cx_remove_root( $url) {
    if(!is_feed() && !get_query_var( 'sitemap')){
        $url = preg_replace( '|^(https?:)?//[^/]+(/?.*)|i', '$2', $url );
        return '/' . ltrim( $url, '/' );
    }else{
        return $url;
    }
}

[/highlight]

2.ajax异步加载跨域问题

直接到请求的服务器那个运行防跨域即可

ajax本身的问题无法解决,我谷歌也找了很多方法,目前最省事的就是下面这个方法了。

[highlight lanaguage=”PHP”]

/*允许跨域请求*/
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');

[/highlight]

 


文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录