mod_usertrack が Cookie を設定しないのはなぜですか?

mod_usertrack が Cookie を設定しないのはなぜですか?

私は docker で httpd:2.4.57 を実行しています。mod_usertrack によって設定された Cookie の設定方法や確認方法がわかりません。両方のブラウザをチェックして、Cookie が許可されていることを確認しました。

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]

私が読んだ内容によると詳しくは、http://httpd.apache.org/docs/2.4/mod/mod_usertrack.html をご覧ください。、session_id という名前の Cookie が設定されているはずです。ログでも、Chrome や Firefox の Web 開発ツールでも、Cookie を確認できません。

@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 ヘッダーも設定されていることがわかります。これが、Web 開発ツールに表示されない理由です。

追加してみてください

CookieStyle Cookie

https://httpd.apache.org/docs/2.4/mod/mod_usertrack.html#cookiestyle

関連情報