아파치 프록시 설정 - HelloMocca/YDbaobao GitHub Wiki

목적

  • tomcat 외부의 디렉토리에서 이미지(혹은 그 외)파일을 관리하기 위함
  • 이미지 요청은 로컬의 /home/baobao 디렉토리로 Alias하고
  • 그 외 요청은 톰캣(8080포트)로 보낸다.

개념

  • tomcat(8080포트)에 접근하기 전에 웹서버(80포트)를 둔다
  • 요청이 /img로 오는 요청은 로컬의 /home/baobao로 간다.
  • 고로 이미지에 접근하고 싶으면 http://[ip or address]/img/[이미지명] 으로 접근하면 된다.
  • 그 외 요청은 톰캣(8080포트)로 가게끔 한다.

설정 방법

httpd.conf 설정 변경

  • command창에서 httpd.conf를 vi로 연다. $ sudo vi /etc/apache2/httpd.conf
  • httpd.conf 파일 끝에 아래의 내용을 붙여 넣는다.
# Image를 위한 Alias 설정
Alias /img/ /home/baobao/
<Directory "/home/baobao/">
    Require all granted
</Directory>
# Image를 위한 proxy 설정
<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass /img !
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

이미지를 저장할 디렉토리 설정

  • home에 디렉토리를 만들기 위한 설정을 한다.
    $ sudo vi /etc/auto_master 파일을 열어서 /home 부분을 주석 처리(앞에 # 붙이기)한 후, 리부팅

  • /home/baobao/products와 /home/baobao/index 디렉토리를 만든다.
    $ sudo mkdir -p /home/baobao/products
    $ sudo mkdir -p /home/baobao/index

  • baobao와 products 폴더의 권한을 777로 설정한다.
    $ sudo chmod 777 /home/baobao
    $ sudo chmod 777 /home/baobao/products
    $ sudo chmod 777 /home/baobao/index

  • 아파치 서버를 (재)실행한다.
    $ sudo apachectl restart

  • 메인페이지를 호출한다.
    localhost:80 혹은 localhost로 접속(8080으로 접속하면 안 됨)

주의사항

요약 : 디렉터리 생성단계부터

sudo mkdir -p /home/baobao/products  
sudo mkdir -p /home/baobao/index
sudo chmod 777 /home/baobao   
sudo chmod 777 /home/baobao/products   
sudo chmod 777 /home/baobao/index
sudo apachectl restart  
⚠️ **GitHub.com Fallback** ⚠️