Назад | Перейти на главную страницу

Рекомендуемая конфигурация для обратного прокси-сервера Pagespeed с apache

Я хотел бы настроить сервер для использования обратного прокси-сервера Pagespeed с apache для нескольких сайтов, которые не могут запускать Pagespeed на своем источнике. Кажется, я смогу создать VirtualHost для каждого сайта и использовать ModPagespeedMapProxyDomain чтобы указать исходный сервер. Я не смог заставить это работать. Вот что у меня есть на данный момент.

Я установил 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* config и настройте vhost как прокси, используя ProxyPassReverse / http://origin.example.com/, сайт загружается нормально. Однако, конечно, скорость страницы не действует.

Вы видите, что я сделал не так? Как рекомендуется настроить обратный прокси-сервер со скоростью страницы?

Вот конфигурация, которая соответствует моим требованиям.

Действительно, использование mod_proxy требуется, потому что mod_pagespeed не имеет возможности фактически прокси-запросы. Эта конфигурация VirtualHost работает для приема запросов на www.example.com в качестве прокси для контента, обслуживаемого другим сервером на origin.example.com. Раскомментируйте ModPagespeedEnableFilters линии для включения определенных функций PageSpeed. Вы можете просмотреть страницу администратора PageSpeed ​​по адресу www.example.com/pagespeed_admin.

<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>