2013-01-05 3 views
3

목표는 아파치를 죽이지 않고 nodejs로 포트 80에서 수신하는 것입니다.nodej와 아파치 사이의 포트 80에서의 충돌을 피하십시오.

나는 네트워크에서 나의 지식은 매우 기본이라고 말해야 만합니다.

UPDATE

내 로컬 컴퓨터에 ProxyPassProxyPassReverse을 사용하려고하지만, 뭔가 문제가있다. 내가 내 브라우저에 http://localhost/test를 시작하면 내가 포트 3000에서 수신하도록 중지하면

Alias /test /media/www-dev/public/test 
    <Directory /media/www-dev/public/test> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride All 
      Order allow,deny 
      Allow from all 
    </Directory> 

    ProxyRequests off 

    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 
    <Location /> 
    ProxyPass /test http://localhost:3000/ 
    ProxyPassReverse /test http://localhost:3000/ 
    </Location> 

난 후 난 내 노드 앱이 포트에서 수신 대기 (503) Service Temporarily Unavailable 얻을, 메시지 Cannot GET /test/를 얻을 수 3000

하는 경우 "프록시"라인을 주석 경우, 나는 http://localhost/test URL을 다시 연결할 수 있습니다.

http://localhost/test URL에 액세스 할 수 없습니까? 프록시가 별칭/테스트의 경로를 따라가는 대신 http://localhost:3000/에 도달하려고했기 때문입니까?

감사합니다.

+0

프록시라고 생각하면 localhost : 8080 또는 유사하게 노드 응용 프로그램에 요청을 전달합니다. – chovy

답변

3

당신은 노드 애플 리케이션과 요청에 대한 프록시를 위해 아파치에 가상 호스트를 만들어야합니다. 여기

는 나의 /etc/apache/sites-available/dogself.com

<VirtualHost 69.164.218.75:80> 
    ServerName dogself.com 
    ServerAlias www.dogself.com 
    DocumentRoot /srv/www/dogself.com/public_html/ 
    ErrorLog /srv/www/dogself.com/logs/error.log 
    CustomLog /srv/www/dogself.com/logs/access.log combined 

    ProxyRequests off 

    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    <Location /> 
     ProxyPass http://localhost:3000/ 
     ProxyPassReverse http://localhost:3000/ 
    </Location> 

</VirtualHost> 

당신이 비록이 작업을 진행하기 전에 연구에 많이있다처럼 소리의 모습입니다. 될 가상 호스트에 대한 문서를

+0

나는이 코드를 이해한다고 생각하지만, 내 측에서는'Location' 발리 스를 추가 할 때 localhost 라우트를 방문하는 로컬 컴퓨터에'Internal Server Error'를 얻는다. – Ludo

+0

아파치에 proxy_http mod를 추가 한 후 localhost에 접근하려고 시도하는'Service Temporarily Unavailable'을 얻습니다. – Ludo

+0

행운을 빕니다. 거기에 이렇게 많은 이유가있을 수 있지만 대부분의 귀하의 노드 애플 리케이션은 로컬 호스트에 응답하지 않습니다 : 3000 – mkoryak

2

대체 접근 방식을 읽기 시작 딱 맞는 아파치 확장을 가능하게하는 내부 서버 오류를 해결하려면

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName DOMAIN.com 
    ServerAlias www.DOMAIN.com 
    ProxyRequests off 

    <Proxy *> 
      Order deny,allow 
      Allow from all 
    </Proxy> 

    <Location /> 
      ProxyPass http://localhost:3000/ 
      ProxyPassReverse http://localhost:3000/ 
    </Location> 

</VirtualHost> 

를 다음과 같습니다.

sudo a2enmod proxy_http 
sudo service apache2 restart 
관련 문제