nginx 설정 다 했는데 접속이 안 될 때... 체크리스트

2023. 4. 29. 20:02도와줘/컴퓨터

728x90

nginx를 다루다보면 열받는 일이 한두가지가 아니다.

 

오늘도 하나 좀 띄울 게 있어서 원래 다른 티스토리 블로그에 걸어뒀던 도메인을 내 서버로 연결하려고 nginx로 설정을 좀 만졌다. 내가 근데 막 복잡한 설정을 한 게 아니라 그냥 정적인 파일 하나 열릴 수 있게 한 거라... conf 건들고 reload 했는데 어라...? 접속이 안 된다.

 

이런 경우가 다들 많을 텐데 결론적으로 나는 아주 멍청한 실수(사실 회사도 아니고.. 개인이 조그마한 개발이나 운영하면서 마주치는 대부분의 문제들은 아주 멍청한 실수에서 비롯된다. 그러니까 삽질 잘 견뎌내는 것도 개발자의 소양이다)를 했던 것이다.

 

어쨌든 nginx 접속 안 될 때(???대충 보통 이렇게 말하니까) 무엇을 체크해야 하는지 한 번 쭉 살펴보자.

 

 

1. 설정 변경한 뒤에 reload 했나?

설정 변경해도 그렇고 정적 파일 찾는 것도 그렇고 reload를 안 해주면 바뀐 설정이 적용되지 않는다.

nginx reload를 해주자. (nginx -s reload) 참고로 여기서 s 옵션은 signal의 약자이다.

 

2. docker 사용중이라면, 설정 변경 후 이미지를 다시 빌드했나?

혹시 의심이 된다면 nginx 컨테이너에 직접 들어가서 /etc/nginx/...를 확인하자.

 

3. docker 사용중이라면, 포트를 열어주고, 잘 매핑했나?

새 포트를 열어줘야 한다면... 잘 열었는지.. 또는 포트 매핑을 잘 했는지..

특히 docker compose 사용 중이라면 외부-컴퓨터-컨테이너 잘 확인하자.

 

4. 포트 포워딩이 잘 되어있나?

공유기에서 포트 안 열어주는 경우도 많다. 확인~

 

5. 도메인은 올바른 곳으로 연결되고 있나?

도메인 dns 레코드를 제대로 변경했는지 확인해보자.

(변경한지 얼마 안 됐다면 아직 전파 중일 수도)

 

6. 접속 테스트를 똑바로 하고 있나?

시크릿모드도 사용 중엔 캐시 쌓이니까 놓치지 말자.

 

 

대부분의 경우 nginx 로그를 보면 해결이 된다.

(nginx 로그 보는법은 따로 포스팅해서 링크를 걸겠당)

또는 nginx를 잘 타고 넘어왔다면, 해당 요청을 실제로 처리하는 프로그램의 로그를 보면 된다.

nginx에도 로그가 안 찍혔다면?

그럼 아주 높은 확률로 nginx의 문제가 아니다.

공유기든 도커이든 포트가 안 열렸든지,

도메인이 아예 엉뚱한 곳으로 보내고 있든지,

브라우저에서 캐시 때문에 요청 자체가 제대로 안 갔든지...

 

'짜증'으로 검색했는데....... 내가 웃는 모습보다 아름답다

 

참고로 나는 시크릿모드 제대로 안 꺼놓고 테스트해서..

친구한테 물어보려고 "이 주소가 안 들어가져"라고 말하면서

카톡에 "이 주소"를 치니까 미리보기가 잘 뜨길래.. 그때서야 아차 싶었다.

내가 접속 테스트했던 휴대폰과 컴퓨터 모두... 시크릿모드를 제대로 종료하지 않고 테스트하고 있었다는 사실을.

728x90