I have a simple nginx reverse proxy:
server {
server_name external.domain.com;
location / {
proxy_pass http://backend.int/;
}
}
The problem is that Set-Cookie
response headers contain ;Domain=backend.int
, because the backend does not know it is being reverse proxied.
How can I make nginx rewrite the content of the Set-Cookie
response headers, replacing ;Domain=backend.int
with ;Domain=external.domain.com
?
Passing the Host
header unchanged is not an option in this case.
Apache httpd has had this feature for a while, see ProxyPassReverseCookieDomain
, but I cannot seem to find a way to do the same in nginx.
Best Answer
Starting in 1.1.15, proxy_cookie_domain option was added to address this issue.
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain