[php] Nginx PHP 쿠키 및 세션 설정

Nginx 웹 서버를 사용하는 경우 PHP 애플리케이션에서 쿠키와 세션을 올바르게 설정하려면 몇 가지 추가 구성이 필요합니다. 이 블로그에서는 Nginx 웹 서버에서 PHP 쿠키와 세션을 설정하는 방법에 대해 설명하겠습니다.

PHP-FPM 구성

PHP-FPM (FastCGI Process Manager)은 PHP 애플리케이션을 처리하고 Nginx와 통신하는 프로세스 매니저입니다. PHP-FPM 구성 파일을 편집하여 쿠키와 세션에 대한 추가 설정을 할 수 있습니다.

; php-fpm.conf

php_value[session.cookie_domain] = ".example.com"
php_value[session.cookie_lifetime] = 3600
php_value[session.gc_maxlifetime] = 3600

위 구성은 example.com 도메인에 대한 쿠키를 3600초(1시간) 동안 유지하도록하며, 세션 수명과 가비지 컬렉션(maxlifetime)을 3600초로 설정합니다.

Nginx 구성

Nginx 구성 파일을 편집하여 쿠키 및 세션에 대한 HTTP 헤더를 수정할 수 있습니다.

# nginx.conf

location / {
    fastcgi_param PHP_VALUE "session.cookie_httponly=1; session.use_only_cookies=1;";
}

위 Nginx 구성은 PHP_VALUE를 사용하여 쿠키가 HTTP 전송만 가능하고, 오직 쿠키를 사용하여 세션 유지를 강제합니다.

이제 Nginx와 PHP-FPM을 재시작하여 변경 사항을 적용하십시오.

위에서 설명한 방법을 사용하여 Nginx와 PHP 애플리케이션의 쿠키와 세션을 올바르게 설정할 수 있습니다. 여기서 session.cookie_domain, session.cookie_lifetime 등의 값을 애플리케이션 요구사항에 따라 조정할 수 있습니다.

참고 자료