아예 늅늅이 웹서비스 개발해보고 있는데

백엔드를 원래는 apache - mod wsgi - flask 로 써서 만들다가

만들다 보니까 실시간으로 업뎃해줘야 될 것 같아서 방법 찾다가 웹소켓이라는 걸 알게 되서 

웹소켓 좀 익히면서 아예 백엔드를 nginx-gunicorn 에 uvicorn워커 - fastapi 이렇게 갈아 엎었거든. 익힐게 왤케 많냐...


프론트엔드에서 서버 80포트로 오는거 nginx에서 받아서 gunicorn :8000 포트로 연결해주고 있는데,  

nginx 설정에서 location /book 으로 연결하면 웹소켓으로 연결하고, location / 는 http 리퀘스트 리스폰스로 처리하려고 하거든 

이거 이런식으로 작동되는거 맞나? 

아니면 웹소켓 포트랑 http 포트를 따로 둬야 하는건가? 그러려면 서버를 http서버 따로, 웹소켓서버 따로 두개 돌려서 nginx에서 구분해서 보내줘야 하는거임?


그리고 지금 겪는 난관은 CORS 통과하는거야. 코드 돌아가게 만들어놓고 프론트쪽에서 post로 백엔드 /login 엔드포인트에 리퀘스트 시도해본게 어제저녁부터인데 지금까지 해결못하고 있다. 이게 위에 적은 문제, 즉 같은 포트로 보내는 거랑은 관련이 없는거 같다. 왜냐하면 코드에서 웹소켓 관련 다 주석처리하고 nginx에서 웹소켓 관련 다 주석처리해도 CORS가 해결이 안되더라.


아파치 + flask 쓸때는 구글보고 아파치 설정하고 플라스크앱에서 무슨 모듈이었나, 그거 불러오니까 해결됐었거든.


그런데 이번에는 nginx 랑 fastapi를 구글에 나온대로 세팅해도 안되네. 

뭘 확인하고 뭘 시도해봐야할까.