IT TIP

Apache http 서버에 mod_proxy 설정

itqueen 2020. 12. 9. 22:04
반응형

Apache http 서버에 mod_proxy 설정


Apache 웹 서버를 사용하여 Tomcat 서버에서 웹 서비스를 리버스 프록시하고 싶었습니다. httpd.conf를 수정했습니다.

LoadModule proxy_module modules/mod_proxy.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT

내 Tomcat 서버는 포트 8080에서 실행되며 이제 localhost / ROOT를 실행할 때 오류 500 내부 서버 오류가 발생합니다.

의 마지막 항목은 다음 error_log과 같습니다.

[Thu Jul 04 14 : 17 : 00.097359 2013] [proxy : warn] [pid 18980 : tid 4476780544] [client 127.0.0.1:50525] AH01144 : URL / ROOT에 유효한 프로토콜 핸들러가 없습니다. mod_proxy의 DSO 버전을 사용하는 경우 LoadModule을 사용하는 구성에 프록시 하위 모듈이 포함되어 있는지 확인하십시오.
의 마지막 항목은 다음 access_log과 같습니다.
 127.0.0.1--[2013 년 7 월 4 일 : 14 : 17 : 00 -0400] "GET / ROOT HTTP / 1.1"500528

내가 여기서 뭘 잘못하고 있는지 아십니까?


그래서 시간이 좀 걸리지 만 방법을 알아 냈습니다. 로드해야 할 모듈이 하나 더 있습니다. 이것이 httpd.conf의 모습입니다.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT

이것은 확실히 작동합니다. :)


간과하기 쉽기 때문에 @muka의 의견에 주목하십시오.

sudo a2enmod proxy  
sudo a2enmod proxy_http  
sudo service apache2 restart

두 모듈 proxyproxy_http!


다른 훌륭한 답변 외에도 https 엔드 포인트에 프록시하는 경우 mod_ssl을 활성화하고 SSLProxyEngine on가상 호스트에 추가 해야합니다.

참고 URL : https://stackoverflow.com/questions/17475587/setup-mod-proxy-on-apache-http-server

반응형