우분투에서 nginx 로 프록시 서버 구축 방법

조회수 3630회

관련 질문 글 (https://hashcode.co.kr/questions/1795/aws-%EC%9D%98-ec2-%EB%A1%9C-%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%ED%95%98%EC%98%80%EC%8A%B5%EB%8B%88%EB%8B%A4-%ED%8F%AC%ED%8A%B8-%ED%8F%AC%EC%9B%8C%EB%94%A9%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C)

AWS의 EC2로 우분투에 node.js 로 웹서버(Port: 9000) 구축하였습니다.

elastic IP 를 route 53 솔루션으로 도메인 연결하였습니다. http://XXX.XXX.XXX.XXX -> example.com:9000 라고 접속해야 node.js 웹 애플리케이션 접속.

그리고, 프록시 서버를 구축하기 위해

우분투에 nginx 설치 후

server {

    listen 80;
    server_name example.com www.example.com;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://127.0.0.1:9000/;
      proxy_redirect off;
    }

    log_not_found off;

    gzip on;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_min_length  1000;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
 }

nginx.conf 파일을 작성하였고,

nginx 및 node.js 재시작하여 example.com 에 접속을 시도하면 nginx의 index 페이지가 출력됩니다. 그래서 example.com:9000 로 접속하니 node.js 웹 애플리케이션 페이지가 보이네요.

nginx.conf 설정이 문제인건지 안먹히는 것 같습니다.

  1. 이틀동안 문제를 찾아봐도 해결이 안되어 다시 질문드립니다...
  2. 제가 하고자하는 것은 ec2의 우분투 운영체제에 node.js 웹 애플리케이션을 서비스하는 것입니다. 현업 경험이 없어 어떤 식의 서버 구축이 보편적인지 잘 모릅니다.
  3. 프록시 서버가 보안 등에 좋다고 하여 구축하려고 합니다.
  4. 기타 웹 서버를 구축하는데 도움 될만한 팁이 있으면 감사합니다!!!

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    아래 설정에서 server_name 항목을 제거해 보세요.

    해당 설정이 있는 해당 도메인으로 들어온 요청에 대해서만 server {}블록이 적용됩니다. 9000번 포트 뒤에 /도 제거해 보세요.

      listen 80;
      # server_name example.com www.example.com;
      proxy_pass http://127.0.0.1:9000;
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 말씀하신대로 해도 안되는데... 혹시 nginx.conf 파일을 연결? 해주거나 하는 취해야 하는 행동이 있나요? 구글링 해보니 nginx/sites-available 위치에 nginx.conf 파일을 작성하라고 해서 하려고보니 sites-available 경로가 없어서 임의로 생성해주고 nginx.conf 파일명으로 작성했습니다만... 상남자 2016.4.30 11:08

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)