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

Обратный прокси-сервер Apache - ProxyPassReverseCookieDomain, похоже, не работает

Я не могу получить директиву Apache ProxyPassReverseCookieDomain чтобы фактически переписать домен.

Моя директива установлена ​​как таковая:

ProxyPassReverseCookieDomain "myinternalproxydomain.com" "thepublicdomain.com"

Я использую вкладку "Сеть" в браузере и вижу Set-Cookie домен не изменяется. Я вижу домен Set-Cookie как thepublicdomain.com или .thepublicdomain.com. Я пробовал добавить

ProxyPassReverseCookieDomain "myinternalproxydomain.com" ".thepublicdomain.com"

Я просмотрел и прочитал документацию, но не могу понять, почему домен cookie не устанавливается.

<VirtualHost *:443>
DocumentRoot /var/www/myinternalproxydomain.com
ServerName myinternalproxydomain.com

SSLEngine on
SSLCertificateFile /etc/ssl/certs/my.crt
SSLCertificateKeyFile /etc/ssl/private/my.key
SSLCACertificateFile /etc/ssl/certs/my.ca-bundle

SSLProxyEngine On
ProxyRequests Off
ProxyHTMLEnable On
ProxyPreserveHost Off
ProxyHTMLInterp On
ProxyHTMLExtended On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass "/" "https://thepublicdomain.com/"
ProxyPassReverse / https://thepublicdomain.com/
ProxyPassReverseCookiePath / /
ProxyPassReverseCookieDomain "myinternalproxydomain.com" "thepublicdomain.com"
ProxyPassReverseCookieDomain "myinternalproxydomain.com" "thepublicdomain.com"
ProxyPassReverseCookieDomain "myinternalproxydomain.com" ".thepublicdomain.com"

DirectorySlash On
ProxyHTMLURLMap "https://thepublicdomain.com" "/"
<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Deny from all
    Allow from all
    DirectorySlash On
</Proxy>
<Location />
    ProxyHTMLEnable On
    ProxyPassReverse "/"
    ProxyPassReverseCookieDomain "myinternalproxydomain.com" "thepublicdomain.com"
    ProxyPassReverseCookieDomain "myinternalproxydomain.com" ".thepublicdomain.com"
    ProxyHTMLURLMap https://thepublicdomain.com /
    RequestHeader unset Accept-Encoding
</Location>
<Directory "/var/www/myinternalproxydomain.com">
    AllowOverride All
    Order allow,deny
    allow from all
    Options FollowSymLinks
</Directory>
</VirtualHost>

Может ли кто-нибудь просветить меня, где я должен искать, чтобы отладить эту проблему?

В ProxyPassReverseCookieDomain директива имеет синтаксис:

ProxyPassReverseCookieDomain internal-domain public-domain [interpolate]

Как в этом примере для ProxyPassReverse, то порядок отменен (сначала серверная часть):

ProxyPass         "/mirror/foo/" "http://backend.example.com/"
ProxyPassReverse  "/mirror/foo/" "http://backend.example.com/"
ProxyPassReverseCookieDomain  "backend.example.com"  "public.example.com"
ProxyPassReverseCookiePath  "/"  "/mirror/foo"