build议使用apache的pagespeed反向代理服务器的configuration

我想设置服务器使用pagespeed反向代理服务器与Apache的几个网站,不能运行在他们的原始页速度。 看来我应该能够为每个站点创build一个VirtualHost ,并使用ModPagespeedMapProxyDomain来指定原始服务器。 我一直没有能够得到这个工作。 这是我迄今为止。

  • http://origin.example.com/是所有dynamic和静态内容的Web服务器。 它不运行pagespeed。
  • http://www.example.com/将被configuration为反向代理的pagespeed服务器。 没有文件托pipe在这里。

我已经为CentOS安装了mod-pagespeed-stable-1.9.32.4-7251.x86_64 ,除了CoreRules之外,我使用了/etc/httpd/conf.d/pagespeed.conf的默认configuration – 请参阅我的configuration 。

然后我添加了一个VirtualHost目录:

 <VirtualHost 111.222.333.444:80> ServerName www.example.com <IfModule pagespeed_module> ModPagespeed On ModPagespeedMapProxyDomain www.example.com origin.example.com </IfModule> </VirtualHost> 

现在任何对http://www.example.com/的请求都会产生一个带有403 Forbidden头的空白页面:

 [q@localhost ~] curl -I http://www.example.com/ HTTP/1.1 403 Forbidden […] 

该请求被logging到全局access_log ,但在error_log中没有消息(MPS是否有自己的错误日志?)。 我可以访问http://www.example.com/pagespeed_global_admin但没有任何迹象表明有错误。

如果我使用ProxyPassReverse / http://origin.example.com/删除ModPagespeed* config并将vhost设置为代理,则该站点加载正常。 但是,当然,pagespeed不生效。

你能看到我做错了吗? 什么是build立一个pagespeed反向代理的build议方式?

这是我发现满足我的要求的configuration。

事实上,使用mod_proxy是必需的,因为mod_pagespeed没有实际代理请求的能力。 这个VirtualHostconfiguration用于接收www.example.com的请求,作为由origin.example.com上的另一个服务器提供的内容的代理。 取消对ModPagespeedEnableFilters行的注释以启用特定的PageSpeedfunction。 您可以在www.example.com/pagespeed_admin查看PageSpeedpipe理员。

 <VirtualHost 1.2.3.4:80> ServerName example.com ServerAlias www.example.com CustomLog /home/example/logs/access_log combined ErrorLog /home/example/logs/error_log <IfModule mod_proxy.c> ProxyPass /pagespeed_admin ! ProxyPass /logs/ ! ProxyPass / http://origin.example.com/ ProxyPassReverse / http://origin.example.com/ ProxyPassReverseCookieDomain origin.example.com www.example.com ProxyPreserveHost on </IfModule> <IfModule pagespeed_module> ModPagespeed On ModPagespeedMapRewriteDomain www.example.com origin.example.com ModPagespeedMapRewriteDomain example.com origin.example.com #ModPagespeedEnableFilters add_head #ModPagespeedEnableFilters combine_heads #ModPagespeedEnableFilters inline_import_to_link #ModPagespeedEnableFilters outline_css #ModPagespeedEnableFilters outline_javascript #ModPagespeedEnableFilters move_css_above_scripts #ModPagespeedEnableFilters move_css_to_head #ModPagespeedEnableFilters combine_css #ModPagespeedEnableFilters rewrite_css #ModPagespeedEnableFilters fallback_rewrite_css_urls #ModPagespeedEnableFilters rewrite_style_attributes #ModPagespeedEnableFilters rewrite_style_attributes_with_url #ModPagespeedEnableFilters flatten_css_imports #ModPagespeedEnableFilters prioritize_critical_css #ModPagespeedEnableFilters make_google_analytics_async #ModPagespeedEnableFilters rewrite_javascript #ModPagespeedEnableFilters rewrite_javascript_external #ModPagespeedEnableFilters rewrite_javascript_inline #ModPagespeedEnableFilters include_js_source_maps #ModPagespeedEnableFilters combine_javascript #ModPagespeedEnableFilters canonicalize_javascript_libraries #ModPagespeedEnableFilters inline_css #ModPagespeedEnableFilters inline_google_font_css #ModPagespeedEnableFilters inline_javascript #ModPagespeedEnableFilters local_storage_cache #ModPagespeedEnableFilters rewrite_images #ModPagespeedEnableFilters convert_jpeg_to_progressive #ModPagespeedEnableFilters convert_png_to_jpeg #ModPagespeedEnableFilters convert_jpeg_to_webp #ModPagespeedEnableFilters convert_to_webp_lossless #ModPagespeedEnableFilters insert_image_dimensions #ModPagespeedEnableFilters inline_images #ModPagespeedEnableFilters recompress_images #ModPagespeedEnableFilters recompress_jpeg #ModPagespeedEnableFilters recompress_png #ModPagespeedEnableFilters recompress_webp #ModPagespeedEnableFilters convert_gif_to_png #ModPagespeedEnableFilters strip_image_color_profile #ModPagespeedEnableFilters strip_image_meta_data #ModPagespeedEnableFilters resize_images #ModPagespeedEnableFilters resize_rendered_image_dimensions #ModPagespeedEnableFilters inline_preview_images #ModPagespeedEnableFilters resize_mobile_images #ModPagespeedEnableFilters remove_comments #ModPagespeedEnableFilters collapse_whitespace #ModPagespeedEnableFilters elide_attributes #ModPagespeedEnableFilters extend_cache #ModPagespeedEnableFilters extend_cache_css #ModPagespeedEnableFilters extend_cache_images #ModPagespeedEnableFilters extend_cache_scripts #ModPagespeedEnableFilters extend_cache_pdfs #ModPagespeedEnableFilters sprite_images #ModPagespeedEnableFilters rewrite_domains #ModPagespeedEnableFilters trim_urls #ModPagespeedEnableFilters pedantic #ModPagespeedEnableFilters remove_quotes #ModPagespeedEnableFilters add_instrumentation #ModPagespeedEnableFilters convert_meta_tags #ModPagespeedEnableFilters defer_javascript #ModPagespeedEnableFilters dedup_inlined_images #ModPagespeedEnableFilters lazyload_images #ModPagespeedEnableFilters insert_dns_prefetch #ModPagespeedEnableFilters in_place_optimize_for_browser </IfModule> <Location /pagespeed_admin> AuthName "PageSpeed Admin" AuthType Basic AuthUserFile /home/example/etc/htpasswd Require valid-user Satisfy any Allow from 127.0.0.1 </Location> </VirtualHost>