【AWS】 Route53에서 취득한 도메인으로 접속하면 「404 Not Found」가 표시되어 버린다

AWS에 배포한 웹 사이트에 독자적으로 취득한 도메인에서 액세스하려고 하면 에러로 정상적으로 액세스할 수 없게 빠져 버렸기 때문에, 내 입력도 겸해 이번 해결에 이른 해결책을 공유하고 싶습니다 .



결론



처음에 결론부터 말하자면, 이번 에러의 원인은 Route53에서 취득한 도메인을 프로덕션의 nginx의 설정 파일(nginx.conf)에 연결하는 작업을 실시하지 않았기 때문에 발생해 버렸습니다.

왜 도메인에서 액세스할 수 없었습니까?



nginx는 server_name을 보고 어떤 서버로 나누는지를 보고 있는 것 같기 때문에, nginx의 설정 파일인 nginx.conf 파일의 「server_name」에 Route53으로 취득한 도메인을 기술하는 작업을 실시하지 않았기 때문에, 액세스 할 수 없었던 것 같습니다.

해결 방법



nginx.conf 파일의 설정을 변경하여 해결할 수 있습니다.

오류시 nginx.conf 파일 ↓
error_log  /var/www/rails/friends/log/nginx.error.log;
access_log /var/www/rails/friends/log/nginx.access.log;

client_max_body_size 2G;
upstream app_server {
  server unix:/var/www/rails/friends/tmp/sockets/.unicorn.sock fail_timeout=0;
}
server {
  listen 80;
  server_name 18.180.36.193;
  keepalive_timeout 5;
  root /var/www/rails/friends/public;
  try_files $uri/index.html $uri.html $uri @app;
  location @app {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://app_server;
  }
  error_page 500 502 503 504 /500.html;
  location = /500.html {
    root /var/www/rails/friends/public;
  }
}


이 중 server_name에 Route53에서 얻은 도메인을 추가해야합니다 ↓
error_log  /var/www/rails/friends/log/nginx.error.log;
access_log /var/www/rails/friends/log/nginx.access.log;

client_max_body_size 2G;
upstream app_server {
  server unix:/var/www/rails/friends/tmp/sockets/.unicorn.sock fail_timeout=0;
}
server {
  listen 80;
  server_name 18.180.36.193 guardians-community.com;
  keepalive_timeout 5;
  root /var/www/rails/friends/public;
  try_files $uri/index.html $uri.html $uri @app;
  location @app {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://app_server;
  }
  error_page 500 502 503 504 /500.html;
  location = /500.html {
    root /var/www/rails/friends/public;
  }
}


server_name을 여러 개 설정할 때는 name 사이를 공백으로 열어 주면 복수를 설정할 수 있습니다.
참고 기사 : Nginx server_name을 복수 지정

위의 설정이 완료되면 아래 명령을 실행하여 nginx 설정을 덮어씁니다. ↓
$ sudo nginx -s reload

이것으로 설정이 완료됩니다.

이 연결 작업이 완료되면 도메인에서 액세스할 수 있어야 합니다.



요약



이상으로 이번 제가 빠져버린 Route53로 취득한 도메인으로 액세스 할 수 없었던 문제와 해결책의 공유를 끝내고 싶습니다.

인프라는 최근 만지기 시작했을 뿐 초보적인 실수였을지도 모릅니다만, 이번 에러 덕분에 또 하나 인프라에 대한 지견을 늘릴 수 있었습니다.

끝까지 읽어 주셔서 감사합니다.
이 기사가 누군가에 서서 주시면 감사하겠습니다.

좋은 웹페이지 즐겨찾기