์ฌ์ฉ ์คํ
front - vite+react
back - Spring
session control - redis
server - AWS EC2
๋ฌธ์
AWS EC2์ ํ์๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๊ฐ์ง Spring boot ๊ธฐ๋ฐ Rest API๋ฅผ ์ฌ๋ฆฌ๊ณ , ํ๋ก ํธ์์ ์์ฒญ์ ๋ณด๋ผ ๊ฒฝ์ฐ ๊ณ์ํด์ JSESSIONID ์ฟ ํค์ ๊ฐ์ด ๊ณ์ ๋ฐ๋๋ ํ์์ด ์๊ฒผ๋ค. ์ธ์ ์ด ๊ณ์ํด์ ๊ฐฑ์ ๋๋ฉด์ ์ธ์ ๊ด๋ฆฌ๋ฅผ ๋ ๋์ค๋ก ํ๊ธฐ ๋๋ฌธ์ ๋ ๋์ค์ ๊ฐฑ์ ๋ session id๋ก ๊ณ์ํด์ ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋์๋ค.
ํ๋ก ํธ, ๋ฐฑ์ ์ ๋ถ ๋ก์ปฌํธ์คํธ์์ ํ๋ ๊ฒฝ์ฐ์๋ ์ด๋ฌํ ํ์์ด ์๊ธฐ์ง ์์์ง๋ง ๋ค๋ฅธ ์๋ฒ์ ํ๋ก ํธ์ ๋ฐฑ์ ๋๊ฒ ๋๋ฉด ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋์๋ค.
ํด๊ฒฐ
Cookie์ SameSite ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก lax๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ค๋ฅ์๋ค.
ํ์ฌ์ ๋ก๊ทธ์ธ ๋ก์ง์ ๋ณด๋ฉด
1. (front) ์นด์นด์ค ๋ก๊ทธ์ธ ํ ํฐ ๋ฐํ -> ํ ํฐ ๋ฐฑ์๋๋ก ์ ์ก.
2. (back) ๋ฐ์ ํ ํฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ธ์ ์์ฑ -> response header์ Set-Cookie๋ก ๋ธ๋ผ์ฐ์ ์ JSESSIONID ์ฟ ํค ์ง์ .
3. (front) setcredential : true๋ก ์ค์ ๋์ด์๊ธฐ ๋๋ฌธ์ backend์ JSESSIONID์ ํด๋นํ๋ ์ฟ ํค ์ ์ก
4. (back) JSESSIONID์ ํด๋นํ๋ ์ฟ ํค๊ฐ์ ์ป์๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ์ธ์ ์์ฑ X
ํ์ง๋ง samesite๊ฐ lax๋ก ๋์ด์๊ธฐ ๋๋ฌธ์ cross-site์์ ์ฟ ํค ์ ์ก์ด ๋ถ๊ฐ๋ฅํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก front์์ ๋ค์ back์ผ๋ก JSESSIONID์ ํด๋นํ๋ ์ฟ ํค๋ฅผ ์ ์กํด์ผ๋๋๋ฐ ์ ์กํ์ง ๋ชปํด์ ์๊ฒผ๋ ๋ฌธ์ ์๋ค.
samesite๋ฅผ None์ผ๋ก ์ค์ ํ๋ ค๋ฉด Cookie์ secure์ต์ ์ true๋ก ์ฃผ์ด์ผ ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ด ํ์์ ํด๊ฒฐํ๊ธฐ ์ํด์๋
1. ๋๋ฉ์ธ ์ค์ 2. SSL ์ธ์ฆ์ ์ค์
๋ค์๊ณผ ๊ฐ์ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ํ์ํ๊ฒ ๋๋ค.
'๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] SpringBootTest์คํ์ application.yml ์ค์ ๋ฌธ์ (0) | 2025.04.29 |
---|---|
[Server] Mac ํ๊ฒฝ ๋ก์ปฌ๋ก Mosquitto, Spring Integration MQTT ์ฌ์ฉ (0) | 2025.04.01 |
[Spring] ๋ฉ์๋ value ์ ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค (0) | 2025.04.01 |
[Python] Subprocess ์ฌ์ฉ์ ํ๊ฒฝ๋ณ์ ๋ฌธ์ (0) | 2024.07.01 |
[Python] ๋ฉํฐํ๋ก์ธ์ค ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ํ Manager ๊ฐ์ฒด (0) | 2024.06.30 |