express - #nginx 反向代理本地cookie 無法攜帶上去
問題描述
1.在coding page 部署了一個項目比如地址這樣http://app.coding.me/film,接口在第三方服務器地址http://xxx.com/v4/api/..2.現在在阿里的服務器上用nginx反向代理接口轉發,解決了跨域,但發現在在http://app.coding.me/film域名發送請求本地cookie無法發送給第三方服務器。而且request headers 無法攜帶cookie 上去 withCredentials:true這是我的代理配置請問有毛病嗎
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/;#目標接口地址 }
#responseHTTP/1.1 200 OKServer: nginx/1.10.1Date: Thu, 25 May 2017 07:53:23 GMTContent-Type: application/json; charset=utf-8Content-Length: 1761Connection: keep-aliveX-Powered-By: MaizuoMobileWeb/4.27.10Set-Cookie: cityId=10; Max-Age=2592000; Domain=.xxx.com; Path=/; Expires=Sat, 24 Jun 2017 07:55:19 GMTSet-Cookie: cityName=%E6%B7%B1%E5%9C%B3; Max-Age=2592000; Domain=.xxx.com; Path=/; Expires=Sat, 24 Jun 2017 07:55:19 GMTETag: W/'JNVa2eLxZZXafos18vYaFA=='Access-Control-Allow-Origin: http://app.coding.meAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Methods: GET, POST, OPTIONS
#requestHost: api.server.topConnection: keep-aliveAccept: application/json, text/plain, */*Origin: http://app.coding.meUser-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.36Referer: http://app.coding.me/film/Accept-Encoding: gzip, deflate, sdchAccept-Language: zh-CN,zh;q=0.8,en;q=0.6,und;q=0.4,zh-TW;q=0.2,ja;q=0.2Cookie: cityId=10; cityName=%E6%B7%B1%E5%9C%B3;瀏覽器中cookie cityId=13 cityName='%E5%B9%BF%E5%B7%9E' 都變了,request 和 response cookie 始終不變。
圖中 cookie Domain N/A啥意思?
問題解答
回答1:proxy_cookie_domain xxx.com app.coding.me;#重新改寫第三方返回cookie domain 這個應該有問題
回答2:就是有問題,不行你可以把cookie 給前端 前端再通過js 設置cookie
相關文章:
1. 如何修改phpstudy的phpmyadmin放到其他地方2. php - mysql中,作為主鍵的字段,用int類型,是不是比用char類型的效率更高?3. java 排序的問題4. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?5. 網絡傳輸協議 - 以下三種下載方式有什么不同?如何用python模擬下載器下載?6. angular.js - Angular路由和express路由的組合使用問題7. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?8. tp6表單令牌9. 老哥們求助啊10. django - 后臺返回的json數據經過Base64加密,獲取時用python如何解密~!
