express - #nginx reverse proxy local cookie cannot be carried up
漂亮男人
漂亮男人 2017-05-27 17:44:59
0
2
1105

1. Deploy a project on the coding page, such as the address http://app.coding.me/film, and the interface is at the third-party server address http://xxx.com/ v4/api/..
2. Now use nginx reverse proxy interface forwarding on Alibaba’s server, which solves the problem of cross-domain, but found that is in http:// App.coding.me/filmThe domain name sends a request. Local cookies cannot be sent to the third-party server. And request headers cannot carry cookies withCredentials:true
This is my proxy configuration. Is there something wrong with it?

listen 80;
server_name api.server.top;//#接口请求域名
location /api {
    add_header 'Access-Control-Allow-Origin' http://app.coding.me;
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    proxy_cookie_domain xxx.com app.coding.me;#重新改写第三方返回cookie domain
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Nginx-Proxy true;
    proxy_set_header Connection "";
    proxy_set_header Referer xxx.com;
    proxy_set_header Host $proxy_host;
    proxy_pass  http://xxx.com/v4/api/;#目标接口地址
 }
#response
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Thu, 25 May 2017 07:53:23 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 1761
Connection: keep-alive
X-Powered-By: MaizuoMobileWeb/4.27.10
Set-Cookie: cityId=10; Max-Age=2592000; Domain=.xxx.com; Path=/; Expires=Sat, 24 Jun 2017 07:55:19 GMT
Set-Cookie: cityName=%E6%B7%B1%E5%9C%B3; Max-Age=2592000; Domain=.xxx.com; Path=/; Expires=Sat, 24 Jun 2017 07:55:19 GMT
ETag: W/"JNVa2eLxZZXafos18vYaFA=="
Access-Control-Allow-Origin: http://app.coding.me
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, OPTIONS
#request
Host: api.server.top
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://app.coding.me
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Mobile Safari/537.36
Referer: http://app.coding.me/film/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,und;q=0.4,zh-TW;q=0.2,ja;q=0.2
Cookie: cityId=10; cityName=%E6%B7%B1%E5%9C%B3;

In the browsercookie cityId=13 cityName="Guangzhou" has changed, but the request and response cookies remain unchanged.

What does cookie Domain N/A in the picture mean?

漂亮男人
漂亮男人

reply all(2)
滿天的星座

proxy_cookie_domain xxx.com app.coding.me;#Rewrite the third-party return cookie domain. This should be a problem

黄舟

There is a problem,
If it doesn’t work, you can give the cookie to the front-end, and then the front-end sets the cookie through js

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template