
나는 docker에서 httpd:2.4.57을 실행하고 있습니다. 나는 mod_usertrack에 의해 설정된 쿠키를 설정하거나 보는 방법을 찾지 못했습니다. 쿠키가 허용되는지 확인하기 위해 두 브라우저를 모두 확인했습니다.
mod_usertrack.so 파일이 컨테이너에 존재하고 올바르게 참조되는지 확인했습니다.
$ ls -al | grep usertrack
-rwxr-xr-x 1 httpd httpd 43976 Oct 11 20:23 mod_usertrack.so
다음은 httpd.conf 내의 지시어입니다:
LoadModule usertrack_module modules/mod_usertrack.so
CookieTracking on
CookieName session_id
CookieHTTPOnly on
CookieSecure off
CookieStyle RFC2965
CookieSameSite Strict
LogLevel warn
<IfModule log_config_module>
LogFormat "%{session_id}n %r %t" common
CustomLog /proc/self/fd/1 common
</IfModule>
다음은 내 로그에 출력되는 내용의 예입니다.
- GET /api/pictures HTTP/1.1 [23/Oct/2023:19:27:29 +0000]
내가 읽은 내용을 바탕으로https://httpd.apache.org/docs/2.4/mod/mod_usertrack.html, session_id라는 이름의 쿠키가 설정되어야 합니다. 로그나 Chrome 또는 Firefox의 웹 개발 도구에서 쿠키를 볼 수 없습니다.
@vidarlo의 요청에 따라 자체 서명된 인증서를 무시하기 위해 curl -I ...
추가해야 했던 출력은 다음과 같습니다 .--insecure
$ curl -I --insecure https://localhost:8443
HTTP/1.1 200 OK
Date: Mon, 23 Oct 2023 19:50:58 GMT
Server: Apache
Set-Cookie2: session_id=87aa60b1.608678a7cc2f9; path=/; SameSite=Strict; Secure; HttpOnly
Last-Modified: Fri, 20 Oct 2023 14:46:20 GMT
ETag: "1e7f-60826ef88e48a"
Accept-Ranges: bytes
Content-Length: 7807
Content-Type: text/html
답변1
흥미롭게도 예기치 않게 session_id 값은 요청마다 변경됩니다.
그것은 예상치 못한 일이 아닙니다. 생성되었습니다~하지 않는 한요청에 이전 값이 있습니다.
흥미롭게도 Set-Cookie 대신 Set-Cookie2 헤더를 설정하는 것을 볼 수 있습니다. 내 webdev 도구에 표시되지 않는 이유를 설명합니다.
추가해 보세요
CookieStyle Cookie
https://httpd.apache.org/docs/2.4/mod/mod_usertrack.html#cookiestyle