2009-11-13 7 views
0

아파치 서버가 실행 중이고 레일 아래에 잡종이 있습니다. 내 레일 애플 리케이션을위한 아파치 설정 파일은 다음과 같습니다 :이 날 max.trunk.production.charanga 다른 컴퓨터에서 액세스 할 것입니다,하지만 난 확신 다른 단계는 것으로,이 있다고 생각내 로컬 네트워크에있는 다른 컴퓨터의 아파치 레일 서버를 어떻게 볼 수 있습니까?

<VirtualHost *:80> 
    ServerName trunk.production.charanga 
    ServerAlias max.trunk.production.charanga 

    DocumentRoot /home/max/work/e_learning_resource/trunk/public 

    RewriteEngine On 

    <Proxy balancer://mongrel1> 
    BalancerMember http://127.0.0.1:5010 
    </Proxy> 

    # Redirect all non-static requests to thin 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule ^/(.*)$ balancer://mongrel1%{REQUEST_URI} [P,QSA,L] 

    ProxyPass/balancer://mongrel1/ 
    ProxyPassReverse/balancer://mongrel1/ 
    ProxyPreserveHost on 

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

    # Custom log file locations 
    ErrorLog /home/max/work/e_learning_resource/trunk/log/error.log 
    CustomLog /home/max/work/e_learning_resource/trunk/log/access.log combined 

</VirtualHost> 

나는 알아낼 수 없다. 다른 컴퓨터에서 Firefox의 주소 표시 줄에 내 IP 주소를 입력하면 현재 기본 아파치 서버 ("작동합니다!"등)가 표시되지만 내 레일 서버 서버에 연결할 수 없습니다. 내가 여기에 잘못된 용어를 사용하고있는 경우 최대

덕분에 ...

답변

0

올바른 IP 주소 192.168.1.42에 대한 DNS 항목 max.trunk.production.charanga를 해결하는 방법을 알 필요가 액세스를 시도하는 컴퓨터를 정정 해줘 (또는하세요 서버의 IP 주소는 무엇이든간에). 말을 듣지 않고서는이 사실을 알 수 없습니다.

보통 /etc/hosts을 편집하고 해당 주소를 올바른 IP 주소로 지정하여이 정보를 알릴 수 있습니다. 단지 아파치가 그 이름을 인식하는 것만으로는 다른 머신이 그 이름에 접근하는 방법을 알 수 없다.

또는 로컬 DNS 서비스를 실행하는 경우 해당 항목을 추가 할 수 있습니다.

+0

Hi Topher - 내 머신의 IP 주소로 'max.trunk.charanga'를 해결할 것입니다. 즉, 내 컴퓨터의 IP 주소를 입력하는 것과 동일합니다. 하지만, 다른 컴퓨터에서이 작업을 수행 할 때, 난 그냥 내 레일 페이지가 아니라 기본 아파치 페이지를 참조하십시오. 어쩌면 기본이 아닌 포트에서 내 레일 아파치를 실행하고 해당 포트를 IP에 추가해야합니까? 나는 그것을 시도했다. 그러나 그것은 일하는 것처럼 보이지 않았다. –

+0

@Max - 아니요. 아파치가 페이지를 렌더링하는 방법을 알고있는 방식은 페이지에 액세스하는 데 사용되는 이름에 전적으로 의존합니다. 가지고있는 것은 가상 호스트입니다. Apache는 서버에 액세스하는 데 사용 된 URL에 따라 다른 콘텐츠를 렌더링하므로 IP 주소를 입력하는 경우 요청한 "사이트"를 알지 못했기 때문에 기본 페이지가 렌더링됩니다. 그러나 DNS 항목을 할당하거나 (/ etc/hosts 파일에 하나를 추가하는 경우) 사용자가이 항목을 입력하면 Apache는 기본값 대신 렌더링 할 사이트를 알게됩니다. Apache for virtual이라는 가상 호스트. –

0

호스트 파일을 편집하는 것이 빠르고 쉬운 방법입니다. 가 해당 도메인에 대해 해당 IP를 사용하도록 컴퓨터를 말할 것이다

192.168.1.1 trunk.production.charanga max.trunk.production.charanga 

에 라인을 추가

. 브라우저 (Firefox가 내부 캐시) 또는 OS (Windows 캐시)에 따라 브라우저를 다시 시작하거나 dns 캐시를 플러시해야 할 수도 있습니다. (다른 운영체제에서 찾을 방법 포함) 호스트 파일에 대한 자세한 내용은

, check this wikipedia link.

0

난 항상 이런 식으로 할

, 그냥 간단하게 생각합니다. 예 . 200.100.10.1:3000/. 다른 도시에서 내 친구 웹 응용 프로그램에 액세스합니다.

또는

<VirtualHost> 
DocumentRoot /htdoc/trunk/ <-- this is my app path. I move my rails app into xampp for exp 
ServerName 200.100.10.1:3000 
ServerAlias 200.100.10.1 
</VirtualHost> 

그래서 난 그냥 내가 잘못 아니에요 경우 자신의 응용 프로그램에 액세스 할 200.100.10.1을 입력합니다. 나는 그것이 작동하기를 바랍니다

+0

안녕하세요 Kuya - 내가 말한 것 같아요. "현재, 다른 컴퓨터의 파이어 폭스 주소창에 주소를 입력하면 기본 아파치 서버 ("작동합니다! "등)가 표시되지만, 내 레일 아파치 서버에 도착하지 마라. " –

0

해결책을 찾았습니다 : 해결책은 필요한 서버를 내 IP 주소의 기본 서버로 만드는 것입니다. 내가 필요한 사이트 (이 경우의/etc/아파치가/사이트-가능합니다/001 트렁크)이

<VirtualHost *:80> 
    ServerName trunk.charanga 
    ServerAlias max.trunk.charanga 

    DocumentRoot /home/max/work/e_learning_resource/trunk/public 
    ......etc 

NameVirtualHost 192.168.0.234:80 
<VirtualHost 192.168.0.234:80> 
    ServerName trunk.charanga 
    ServerAlias max.trunk.charanga 

    DocumentRoot /home/max/work/e_learning_resource/trunk/public 
    .....etc 
에에서

을 config 파일의 상단을 변경하여 이런 짓을

192.168.0.234는 내 네트워크 IP 주소입니다.

이제 누군가 다른 사람이 브라우저에 ip를 입력하면 apache 기본 사이트 대신 원하는 사이트를 얻게됩니다.

귀하의 조언에 감사드립니다. 그래서 같은 IP와 포트

0

유형 : 권한이 읽기/쓰기로 설정되어있는 경우

127.0.0.0:80/rails

이에만 작동합니다.

관련 문제