路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action 路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action 路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action
경로 1은 직접 액세스이고, 경로 2와 경로 3은 nginx를 통해 액세스됩니다.
세 가지 액세스 전제 조건
①아래 그림과 같이 브라우저에 쿠키가 있습니다.
액세스 경로 http: //localhost:8080/content/requestAction!XXX.action 쿠키에 JSESSIONID를 첨부하세요. http://localhost:8080/content/requestAction!XXX.action
附加Cookies中的JSESSIONID。
此cookies中有JSESSIONID,存放着本次访问,后端可以认证的唯一JSESSIONID,如果没有它就会导致无法访问。
②配置了nginx配置文件
server { listen 80; server_name localhost; location /clp { #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080/content; } location /content { #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080/content; }
通过上面三个路径访问,路径一与路径二可以访问成功,路径三访问失败
因为 http://localhost:8080/content/requestAction!XXX.action
的访问路径为/content/requestAction
이 쿠키에는 이 방문에 대해 백엔드에서 인증할 수 있는 고유한 JSESSIONID를 저장하는 JSESSIONID가 있습니다.
location /clp { #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cookie_path /content /clp; #这一句就可以解决nginx转发丢失cookie的问题 proxy_pass http://localhost:8080/content; }
http 때문입니다. ://localhost:8080/content/requestAction!XXX .action
의 액세스 경로는 /content/requestAction
입니다. nginx가 아닌 경우 첫 번째 방법으로 액세스할 수 있는 방법이 없습니다.
두 번째 방법으로 접근하는데 nginx를 사용하더라도, nginx에 의해 전달되기 전의 경로는 동일하므로 nginx는 잃지 않을 것입니다.방법 3의 접근은 nginx를 사용하며, 접근 경로는 다음과 같습니다. 또한 nginx 전달에서 쿠키가 손실되는 문제가 발생합니다.
위 내용은 Nginx가 손실된 쿠키를 전달하는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!