使用 apache 的 pagespeed 反向代理伺服器的推薦配置
我想將伺服器設置為將 pagespeed 反向代理伺服器與 apache 一起用於多個無法在其源上執行 pagespeed 的站點。看來我應該能夠
VirtualHost
為每個站點創建一個並用於ModPagespeedMapProxyDomain
指定源伺服器。我無法讓它工作。這是我到目前為止所擁有的。
http://origin.example.com/
是所有動態和靜態內容的網路伺服器。它不執行頁面速度。http://www.example.com/
將被配置為反向代理的 pagespeed 伺服器。此處不託管任何文件。我已經
mod-pagespeed-stable-1.9.32.4-7251.x86_64
為 CentOS 安裝了並且正在使用/etc/httpd/conf.d/pagespeed.conf
除了CoreRules
啟用的預設配置——請參閱我的配置。然後我添加了一個 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 […]
請求被記錄到全域
access_log
,但沒有消息error_log
(MPS 有自己的錯誤日誌嗎?)。我可以訪問http://www.example.com/pagespeed_global_admin
,但沒有跡象表明有錯誤。如果我刪除
ModPagespeed*
配置並使用 將虛擬主機設置為代理ProxyPassReverse / http://origin.example.com/
,則站點載入正常。但是,當然,pagespeed 不會生效。你能看出我做錯了什麼嗎?設置 pagespeed 反向代理的推薦方法是什麼?
這是我發現滿足我要求的配置。
實際上,需要使用mod_proxy,因為mod_pagespeed沒有實際代理請求的能力。此 VirtualHost 配置用於接收對 www.example.com 的請求,作為由位於 origin.example.com 的另一台伺服器提供的內容的代理。取消註釋這些
ModPagespeedEnableFilters
行以啟用特定的 PageSpeed 功能。您可以在 www.example.com/pagespeed_admin 查看 PageSpeed 管理員。<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>