Настройка заголовка cookie NGINX PHPPhp

Кемеровские программисты php общаются здесь
Anonymous
Настройка заголовка cookie NGINX PHP

Сообщение Anonymous »

У меня возникли проблемы с настройкой заголовка кэша. Последние два дня я терял рассудок. В любом случае, я постараюсь быть максимально подробным (извините за мой английский):
  • Я использую скомпилированную версию NGINX (https:/ /nginx.org/download/nginx-1.25.3.tar.gz)
  • Я использую PHP-FPM 7.4 (управляемый сервис)
  • Я использую php-скрипт, который каждый час случайным образом изменяет имя домена на другое имя домена (несколько массивов), одновременно настраивая сеанс cookie, чтобы это разрешить. Я использовал этот сценарий на своем веб-сервере IIS/PHP, и он работает отлично (вы можете видеть, как он устанавливает сеанс cookie в первоначальном запросе, а заголовок cookie появляется в заголовке запроса после последующих запросов), но не на моем NGINX/PHP.
Я перепробовал все в настройках php.ini: от session.save_handler до настроек session.cookie_* (срок действия, путь, домен). Я изменил каталог, в котором хранятся файлы cookie, добавил разрешения на доступ к нему для php-fpm (и все в этом отношении). Файлы cookie создаются и сохраняются, но продолжают генерироваться после каждого запроса, а не каждый час. При использовании инструмента разработчика я получаю этот «set-cookie:
PHPSESSID=1kfmqcklc3a1v0cpu3jeq6049n; expires=Wed, 09-Oct-2024 21:38:55 GMT; Max-Age=3600; domain=f.trydarius. shop" в заголовках ответов, но я не вижу заголовка Cookie в последующих заголовках запросов.
Это настройки в моей конфигурации NGINX:
server {
listen 443 ssl;
listen 80;

# ssl on;
ssl_certificate /etc/letsencrypt/live/trydarius.shop/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/trydarius.shop/privkey.pem;

keepalive_timeout 70;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param HTTP_USER_AGENT $http_user_agent;
fastcgi_param HTTP_REFERER $http_referer;
fastcgi_param HTTP_COOKIE $http_cookie;
fastcgi_param HTTP_CONNECTION $http_connection;

add_header Access-Control-Allow-Origin *;
add_header 'Cache-Control' 'no-cache';
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;



Подробнее здесь: https://stackoverflow.com/questions/790 ... -nginx-php

Вернуться в «Php»