Troubleshooting

Troubleshooting

Spring 빌드후 실행시 인코딩 깨진 문자 오류

개발 환경인 IntelliJ에서 실행시에는 문제 없이 실행 되는 스프링 앱이 빌드만 하면 어떻게 해서도 이상한 문자만이 무한으로 출력되는 오류가 발생했습니다.  위와 같은 방식으로 인코딩이 깨진채로 무한으로 출력되었습니다. 1. 우선 생각해본것은 단순히 인코딩이 깨진것을 의심해 보았습니다. 중간중간에 읽을 수 있는 코드들도 가끔 출력되기도 했고요.그러나 인코딩이 단순히 꺠진것으로 보기에는 로그가 무한으로 출력되고 있기 때문에 다른 것이 문제라 생각되었습니다. 2. gradle의 문제. 빌드시 사용하는 gradlew 파일이 잘못되었다면 이렇게 오류가 날 수 있다 생각해서 살펴보았지만, 기본 설정에서 달라진 것이 없었습니다. 3. 결국 코드와 설정들을 하나씩 삭제해보며 체크해본 결과 문제는 applicati..

Troubleshooting

Azure Database for MySQL에서 require_secure_transport 문제

Azure Database for MySQL는 기본적으로 보안 연결을 요구한다. DBeaver등으로 연결할때 오류가 발생했는데, 간단한 해결방법은 설정 -> 서버 매게 변수 -> require_secure_transport 를 OFF로 변경해주면 된다.

Troubleshooting

Brew로 설치한 PostgreSQL 접속 오류 해결

brew를 이용해 설치한 postgreSQL을 시작하려면, brew services start postgresql 로 서비스를 시작할 수 있다. 이때 보통 접속을 위해 psql --username=postgres --dbname=postgres 을 시도하는데, 해당 방법으로 접속이 불가능했다. 그래서 psql postgres 로 접속 후 SELECT rolname FROM pg_roles; 로 확인해보니, postgres role이존재하지 않고, 내 컴퓨터 기본 이름으로 생성되어 있었다. 그리하여 CREATE ROLE postgres LOGIN SUPERUSER INHERIT CREATEROLE CREATEDB REPLICATION; 로 새로 생성해주고 pgAdmin4를 이용해 접속

Troubleshooting

MacOS Github organization repository 접근 오류 remote: Repository not found. 해결기

Github Organization Private Repository 접근 시 remote: Repository not found. fatal: repository 'https://github.com/~~~/~~~.git/' not found 오류가 발생했다. 원래 사용하던 SourceTree에 crediential 인증창이 뜨기도 하는 등 전조증상이 있긴 했었다. 그러나 정확히 어떤 것이 문제가 되었는지 모르겠다. xz 백도어로 인해 다운그레이드하기 위해 brew upgrade를 한 것 밖에 짐작 가는 것이 없는데... 아무튼 문제의 까다로운 점은 일반 private repository는 문제없이 접근이 가능한데, organization에 있는 private repository만 접근 시 404가 발생..

Troubleshooting

카카오 소셜 로그인시 카카오톡 내부에서 브라우저가 켜지는 오류

카카오 소셜 로그인시 모바일로 해보니 카카오톡이 켜져서 인증을 하고, 이후 카카오톡 내부 웹브라우저로 돌아오는 오류가 발생했다. 찾아보니 JS 방식으로 로그인 하지만, REST API용 키를 사용하면 이렇게 된다는 듯? 카카오 내부에서 소셜 로그인 구현을 어떻게 했는지 대략 느낌이 오는 것 같다. Javascript 키로 교체하고 문제 해결.

Troubleshooting

poetry 오류 ImportError: cannot import name 'user_data_dir' from 'platformdirs' (unknown location)

MacOS 환경에서 brew로 poetry install을 하여 1.6.1 -> 1.7.1 버전 업그레이드를 했을때 문제가 발생했다. poetry쪽 문제는 아니고 brew쪽의 문제인듯? brew install python-platformdirs 로 설치해주라는 해결 방법을 찾았다. wibaek@Wibaeks-MacBook-Air ~ % brew install python-platformdirs Warning: python-platformdirs 4.2.0 is already installed, it's just not linked. To link this version, run: brew link python-platformdirs 실행 해보니 이미 존재하고 link를 해달라 했고, wibaek@Wiba..

Troubleshooting

DRF production에서 정상작동 하는데 test 통과 안되는 문제

문제 상황: DRF에서 nested 구조가 포함된 요소에 대해 POST 를 했을때 실 서비스에서는 정상적으로 생성되나, test에서는 nested 정보들이 반영이 안되는 오류 앞선 오류와 비슷한 느낌일거라는 생각이 들어 우선 validated_data등을 체크해보았다. 우선 테스트에서 serializer단의 validated_data와 view단의 request.data를 확인했다. # Test request.data # Test validated_data {"title": "Post Restaurant Listing Test", "is_private": True} 그리고 실제 production의 validated_data, request.data를 확인했다. # Production request.da..

Troubleshooting

장고 https적용시 CSRF에러

문제상황: 장고 서버를 https 보안연결로 배포했을때 admin페이지 로그인시에 CSRF에러가 발생하는 문제를 겪었다. 처음에는 Mixed content랑 순간적으로 햇갈려 http를 자동으로 https로 연결하게 수정했다. 어짜피 해야될 일이였어서 나쁘진 않았다. 이후 여러모로 찾아봐도 안나오다가 찾은것이 settings.py에 CSRF_TRUSTED_ORIGINS를 설정해주는 것이었다. 이것으로 문제 해결. 4.0부터 추가된 기능인듯? https://stackoverflow.com/questions/70285834/forbidden-403-csrf-verification-failed-request-aborted-reason-given-for-fail Forbidden (403) CSRF verifi..

Troubleshooting

230818 Gunicorn [CRITICAL] WORKER TIMEOUT 오류

문제상황: 장고 웹서버 배포 중 일어난 문제. 서비스는 클라우드 서비스에서 제공하는 외부 DB와 웹서버(nginx+django gunicorn)로 이루어진 상황이었다. 개발 환경에서도 도커 컨테이너를 띄워 문제가 없는 것까지 확인한 후 배포하였으나, 오류가 발생했다. API 요청 시에 매우 긴 시간이 지체된 후 nginx 502 에러가 발생하는 방식의 오류였다. 문제는 DB연결이 제대로 되지 않아서였다. DB를 화이트리스트에 추가된 IP로만 접속이 가능한 방식이었는데, 이에 새로 배포한 웹서버의 주소를 추가해주지 않아 일어난 일이었다. DB 서버와 웹서버 가상머신 모두 Azure서비스를 사용했기에, 간단히 Azure서비스에 대하여 허용해 주는 설정 하나로 문제를 해결할 수 있었다.

Troubleshooting

Django, Docker-compose 에서 .env 적용 안되는 문제

장고 프로젝트를 도커로 배포하며 환경변수가 적용되지 않는 문제를 겪었습니다. 이 상황당시의 코드 상황은 대략 다음과 같았습니다. # docker-compose.yml version: "3" services: django: build: . ports: - 80:80 env_file: - web.env volumes: - ./static:/staticfiles command: gunicorn config.wsgi --bind 0.0.0.0:80 # Dockerfile FROM python:3.10 ENV PYTHONUNBUFFERED=0 WORKDIR /web COPY ./requirements.txt /web RUN pip3 install --upgrade pip RUN pip3 install -r req..

Muromi
'Troubleshooting' 카테고리의 글 목록