Я все еще новичок, но использую образ Amazon linux и httpd для шифрования и дешифрования SSL-запросов. Затем я проксирую эти сообщения в приложение NodeJS, работающее на порте 3001. Для этого у меня есть следующее в моем /etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443>
...
ProxyPreserveHost On
ProxyPass / http://*IP*:3001/
ProxyPassReverse / http://*IP*:3001/
</VirtualHost>
Общедоступный сайт отлично работает. Однако, когда я пытаюсь установить безопасный файл cookie, используя следующее ...
Ошибка: не удается отправить безопасный файл cookie через незашифрованное соединение
Я установил свой файл cookie в узле следующим образом ...
const CALLBACK = function(ctx, next) {
...
ctx.cookies.set(
COOKIE_NAME,
response.data.id_token,
{
secure: true,
domain: COOKIE_DOMAIN
},
);
}
Я также попытался добавить это в ssl.conf ...
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
Но это тоже не помогло, у кого-нибудь есть идеи, как я могу заставить это работать?
Я нашел это в вопросе, и он работал на меня (хотя я не могу найти вопрос теперь)...
/etc/httpd/conf.d/ssl.conf
...
Header edit Set-Cookie ^(.*)$ $1;Secure
Затем я просто прекратил устанавливать его как безопасный в узле, и все, кажется, хорошо работает.