路径一 :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 전달에서 쿠키가 손실되는 문제가 발생합니다.
3. Solution🎜rrreee🎜4. 헷갈리기 쉬운 점🎜🎜 위의 접속 경로는 아래 사진의 빨간색 박스 안의 경로이며, 첫 번째 슬래시 이후의 경로만 해당됩니다. 🎜🎜🎜🎜위 내용은 Nginx가 손실된 쿠키를 전달하는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!