Nginx 프록시

webman이 직접 외부 액세스를 제공해야 하는 경우, webman 전에 Nginx 프록시를 추가하는 것이 좋습니다. 이렇게 하면 다음과 같은 이점이 있습니다.

  • 정적 자원은 Nginx가 처리하여 webman이 비즈니스 로직 처리에 집중할 수 있습니다.
  • 여러 개의 webman이 80번, 443번 포트를 공유하고, 도메인을 통해 서로 다른 사이트를 구분하여 단일 서버에 여러 사이트를 배포할 수 있습니다.
  • php-fpm 및 webman 아키텍처의 공존을 실현할 수 있습니다.
  • Nginx 프록시 SSL을 통해 https를 쉽고 효율적으로 구현할 수 있습니다.
  • 외부에서 일부 불법 요청을 엄격히 걸러낼 수 있습니다.

Nginx 프록시 예시

upstream webman {
    server 127.0.0.1:8787;
    keepalive 10240;
}

server {
  server_name 사이트도메인;
  listen 80;
  access_log off;
  root /your/webman/public;

  location ^~ / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      if (!-f $request_filename){
          proxy_pass http://webman;
      }
  }
}

일반적으로 개발자는 위의 구성에서 server_name 및 root를 실제 값으로 구성하기만 하면 되며, 다른 필드를 구성할 필요는 없습니다.