swsnu / swppfall2019

31 stars 23 forks source link

Deploy : Frontend-Backend연결 관련 #214

Open jinsun-yoo opened 4 years ago

jinsun-yoo commented 4 years ago

안녕하세요, Team7의 유진선 수강생입니다.

수업자료와 이전 이슈 #209 를 참고하여 1) 주소창에 IP/도메인 입력하여 프론트 띄우기 2) 주소창에 IP:8000/admin/ 입력하여 백엔드 admin띄우기까지 성공한 상태입니다.

그러나 프론트에서 아래의 action 을 호출함으로써 로그인하려고 하면(=백엔드랑 통신하려고 하면) 아래의 사진과 같은 문구가 뜨면서 연결이 제한되는 것을 확인하였습니다. [actions/userAction.js] image

[user/views.py] image

[user/urls.py] image

[Chrome Developer Tool Console] image

2)를 볼 때 uwsgi의 문제라기보다는 프론트-백을 연결하는 부분의 문제로 추정됩니다. 혹시 비슷한 문제를 겪고계신 조가 있을까요?

감사합니다

실행할때: sudo systemctl restart nginx \ uwsgi --http :8000 --wsgi-file /home/jsyoo/swpp2019-team7/backend/backend/wsgi.py

[/etc/nginx/sites-available/frontend.conf] image 이 버전과 image

이 버전 모두 사용해보았으며, 증상은 동일했습니다.

ulgal commented 4 years ago

connection refused면 django나 db에서 막힌게 아닐까요? host설정 같은거 확인해보시면 좋을 것 같은데 저는 ERR_CONNECTION_REFUSED문제는 아니었지만 잘 연결이 안될 때 서버 터미널에 python manage.py runserver켜놓고 request시 나오는 로그나

cat /var/log/nginx/access.log 
cat /var/log/nginx/error.log
cat /var/log/mysql/error.log

에 있는 로그로 찾았어요.

jinsun-yoo commented 4 years ago

@ulgal 안녕하세요! 이 부분 언급하는걸 잊었네요. 가장 답답했던 점이 터미널 로그, access.log/error.log 모두 아무런 내용도 찍히지 않는다는 점이었습니다.... 이런거라면 아예 backend/django로 아무것도 전달되지 않았다고 봐야할거 같은데 front/nginx에서도 혐의점이 없어서 답답하기만 하네요..

ulgal commented 4 years ago

터미널 로그에 아무것도 안찍히면 아예 다른 곳으로 요청을 보내고 있는 것 아닌가요?? /var/log/nginx/error.log에 아무 내용이 없으면 요청을 아예 안보내고 있는 것 같기도 하고.. 어렵네요

taehwoi commented 4 years ago

netstat -lntup 를 실행하면 8000포트를 uwsgi가 사용하고 있다고 나오나요?

NSYT0607 commented 4 years ago

호오오오옥시... 아닐수도 있지만, 저도 SSL로 바꾸면서 비슷한 상황이었었는데 Azure에 HTTPS 포트 열어주니까 된 것 같습니다.

jinsun-yoo commented 4 years ago

해결했습니다! 저희 조에서 axios를 따로 customize했는데, 아래에 있는 baseURL 을 localhost로 해둔채로 둔 게 문제였습니다. 애초에 Dev Tool에서도 충분히 경고를 하고 있었지만, localhost를 Azure 서버의 localhost로 인지하는 바람에 해결하지 못하고 있었는데, 현재는 잘 돌아가고 있습니다.

(Solved thx to @sharkmir1 )

import axios from 'axios';
axios.defaults.withCredentials = true;
export default axios.create({ baseURL: 'https://www.pillbox.me/' });

image