답변:
먼저 웹 서버를 실행중인 컴퓨터의 IP 주소 또는 이름을 결정해야합니다. macosx
지침은 Linux 시스템과 유사하지만 게시물에 태그를 지정했기 때문에 Mac에서 웹 서버를 실행한다고 가정합니다 . 따라서 Mac에서 :
Terminal.app
. 아래에 Applications->Utilities
있습니다.ifconfig
터미널에서 실행하십시오 . 머신의 모든 네트워크 인터페이스가 표시됩니다. 그중 하나는 머신이 활발하게 연결된 네트워크입니다. Mac이 유선 연결 인 경우 en0
. 후 주소를 메모하십시오 inet
주소를 컴퓨터의 사용을해야합니다 -.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
하면 nc 세션을 종료하십시오.서버의 실제 주소에서 응용 프로그램에 연결할 수 없으면 응용 프로그램이 해당 주소에서 수신 대기하지 않는 것입니다. 해당 동작을 수정하기 위해 응용 프로그램 구성을 변경하는 방법을 조사해야합니다. 실행중인 응용 프로그램을 모르기 때문에 좋은 아이디어를 제공 할 수 없습니다.
hostname
(터미널 프롬프트에서)를 사용 하여 Mac 이름을 찾아 URL에서 사용하십시오. 예 : http : //Tonys-iMac.local : 3000 /
어떤 이유로 Bonjour가 사용자 환경에서 작동하지 않는 경우 iMac 또는 MacBook에서 공항 주소를 찾으십시오.
ipconfig getifaddr en1
또는 일반적으로
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
기본적으로 방화벽 설정에서 특정 응용 프로그램 (예 : 루비)이 들어오는 연결을 수락하도록 허용 할 수 있습니다. 또한 외부 세계 (예 : www)에 대한 액세스를 허용하려면 라우터 설정을 통해 트래픽을 내부 게이트웨이 포트로 전달해야합니다.
이를 수행하는 방법은 다음과 같습니다.
라우터에서 포트 (192.168.1.1을 통해)를 열어 your_web_ip : port에서 local_gateway : port로 트래픽을 전달하십시오.
끝난. 이제 원격 컴퓨터에서 브라우저를 웹 IP 주소 ( http://www.whatismyip.com/을 통해 찾음) + 위의 대상 포트 번호 (예 : 72.189.194.65:3280)로 엽니 다. 그러면 로컬 192.168.1.4에 연결됩니다. : 3000
참고 : Mac OSX 10.7.5에서 실행 중입니다.
응용 프로그램이 127.0.0.1:3000에서만 수신 대기중인 경우 다른 컴퓨터에서 액세스 할 수 없습니다. 그렇게하려면 IP 또는 0.0.0.0 (사용 가능한 모든 인터페이스)을 수신하도록 구성을 수정해야합니다.
두 번째 옵션은 프록시를 사용하는 것입니다.
세 번째 옵션은 iPhone에서 ssh를 사용할 수 있다면 ssh 전달을 사용할 수도 있습니다.
ssh user @ host -L 3000 : 127.0.0.1 : 3000
그런 다음 iPhone에서 127.0.0.1:3000을 엽니 다.
0.0.0.0
! 내가 어떻게 생각하지 못했습니까?
당신은 이것을 시도 했습니까, 그것은 나를 위해 일했습니다 (나는 그것과 관련이 없습니다) :
rails server -b 0.0.0.0
다음 iPhone에서이 브라우저를 사용하십시오.