在Apache/Nginx反向代理上设置WP Hide Pro教程

大家都知道Apache/Nginx服务器的反向代理设置类型成为标准设置的一个很好的选择,以至于不少小伙伴都使用…

IMG_0

大家都知道Apache/Nginx服务器的反向代理设置类型成为标准设置的一个很好的选择,以至于不少小伙伴都使用Nginx进行反代WordPress站点,在加速的同时还可以实现更好的性能和安全性。这里就介绍在Apache/Nginx反向代理上设置WP Hide Pro教程。

  • 负载平衡。反向代理可以执行负载平衡,这有助于在后端服务器上均匀地分配客户请求。它也提高了冗余度,因为如果一个服务器遇到技术困难,反向代理将简单地将请求重新路由到不同的服务器。
  • 通过压缩内容以提高加载时间,在优化内容时很有帮助。
  • 不需要为客户端的每个网络请求设置一个新的进程。相反,默认配置是每个CPU包含一个工作进程。
  • 缓解DDoS攻击 。你可以将每个单一IP地址的传入请求和连接数限制在普通用户的典型值。Nginx还允许你根据客户端的位置,以及请求头的值,如 “User-Agent “和 “Referer”,来阻止或限制访问。
  • 增加安全性。反向代理还可以作为后端服务器的一道防线。配置一个反向代理可以确保你的后端服务器的身份是未知的。
  • 更好的性能。对于Nginx来说,在传递静态内容文件和分析URL时,已经知道有更好的表现
  • 可以充当各种协议的反向代理服务器,如HTTP、HTTPS、TCP、UDP、SMTP、IMAP和POP3。
  • 加密连接。通过用TLS加密客户端和Nginx反向代理之间的连接,它将处理和解密传入的SSL连接并加密代理服务器的响应。

最常见的设置类型是主站点和代理站点位于同一台服务器上,这是最容易配置和维护的。一般来说,代理网站被部署在一个子目录下,对于我们的例子,我们使用/subfolder/

在部署了WP-Hide PRO插件后,其设置与普通服务器上的设置是一样的。只是代码无法识别服务器端的配置,所以它仍然会生成包括基础/subfolder/的重写规则,而在使用反向代理时,这一点是没有必要的。

可以用一个可编程的过滤器来对重写规则进行调整,并删除不需要的前缀。下面的例子可以用于Nginx服务器类型。



    /**
    * Ensure to change the blog with your own location of WordPress which is being used for the Reverse Proxy set-up
    * 
    * @var mixed
    */
    define ( 'ReverseProxySubdirectoryBase', 'subdomain' );
    
    /**
    * Stripp out the unwanted prefix    
    */
    add_filter( 'wp-hide/mod_rewrite_rules', '_wp_hide_mod_rewrite_rules', 10, 2 );
    function _wp_hide_mod_rewrite_rules( $readable_rules, $server_type )
        {
            
            if ( $server_type   != 'nginx'  ||  ! is_array ( $readable_rules ) ||   count ( $readable_rules ) < 1 )
                return $readable_rules;
                
            foreach ( $readable_rules   as  $key    =>  $data )
                {
                    $readable_rules[ $key ] =   str_replace ( '/' . ReverseProxySubdirectoryBase . '/' , '/' , $data );
                }
            
            return $readable_rules;
               
        }
        
    
    /**
    * Return the rewrite test url
    * 
    * @param mixed $rewrite_test_url
    */
    add_filter( 'wp-hide/nginx_test_sample_rewrite/url', '_wp_hide_nginx_test_sample_rewrite_url' );
    function _wp_hide_nginx_test_sample_rewrite_url( $rewrite_test_url )
        {
            $rewrite_test_url   =   str_replace ( '/' . ReverseProxySubdirectoryBase . '/' , '/' ,  $rewrite_test_url );
            
            return $rewrite_test_url;
        }    
    
    /**
    * Update the used flag time from last to break
    */
    add_filter( 'wp-hide/nginx_flag_type', '_wp_hide_nginx_flag_type' );
    function _wp_hide_nginx_flag_type( $flag_type )
        {
            
            $flag_type  =   'break';
            
            return $flag_type;    
            
        }
        

*在ReverseProxySubdirectoryBase常量中的子域应该根据服务器代理设置进行相应更新。
*这些代码应该放在/wp-content/mu-plugins/文件夹的一个自定义文件中,或者一个自定义插件中。

可以直接在本站下载WP Hide Pro插件,如下

WP Hide Pro汉化中文版|WordPress信息隐藏及安全防护插件介绍

类别:WordPress 进阶教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册