Кажется, я не могу заставить директиву 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/"