Android 기기에서 로컬 호스트에 어떻게 액세스 할 수 있습니까?


542

Android 에뮬레이터를 사용하여 랩톱 웹 서버에 액세스 할 수 있으며 10.0.2.2:portno 잘 작동합니다.

그러나 실제 Android 전화를 연결하면 전화 브라우저가 랩톱의 동일한 웹 서버에 연결할 수 없습니다. 전화는 USB 케이블을 사용하여 랩톱에 연결되어 있습니다. adb devices 명령을 실행하면 내 전화를 볼 수 있습니다.

내가 무엇을 놓치고 있습니까?


3
이것을 시도하십시오 : stackoverflow.com/a/17603378/1600061
Zsivics Sanel

여기에서 설명서를 참조하십시오 : developer.android.com/tools/devices/…
Henry Aloni

3
웹 페이지를 테스트하는 동안 방화벽을 끄거나 방화벽 설정에서 신뢰할 수있는 네트워크에 IP를 추가하십시오.
zeeali


ngrok와 수프 ez
JonPizza

답변:


402

USB는 모바일 장치에 네트워크를 제공하지 않습니다.

데스크탑과 전화가 모두 동일한 WiFi (또는 다른 로컬 네트워크)에 연결되어 있으면 라우터가 할당 한 데스크탑 IP 주소를 사용하십시오 (가 localhost아닌 127.0.0.1).

데스크탑의 IP 주소를 찾으려면

  • 명령 행에 입력하십시오 ipconfig(Windows) 또는 ifconfig(Unix)
    • 리눅스에서 하나의 라이너 ifconfig | grep "inet " | grep -v 127.0.0.1는 중요한 것들만 을 산출 할 것입니다
    • 거기 제안의 무리 Windows에서 유사한 출력을하는 방법은
  • 많은 IP가있을 것입니다
  • 그들 모두를 시도하십시오 (앞의 언급을 제외 localhost하고 127.0.0.1)

휴대 전화가 모바일 네트워크에 연결되어 있으면 상황이 더 어려워집니다.

하드 코어 :

  • 먼저 라우터 외부 IP 주소를 찾으십시오 ( https://www.google.de/search?q=myip )
  • 그런 다음 라우터에서 일부 포트를 <your desktop IP>:<server port number>
  • 마지막으로 외부 IP 주소와 전달 된 포트를 사용하십시오

그렇지 않으면 xip.io 또는 ngrok 와 같은 것을 사용 하십시오 .

참고 :이 ifconfig명령은 Debian에서 시작하여 Debian Linux에서 기본적으로 더 이상 사용되지 않으므로 누락되었습니다. Debian Linux에서 네트워크 구성을 검사하기위한 새롭고 권장되는 대안은 ip 명령입니다. 예를 들어 ip 명령을 사용하여 네트워크 구성을 표시하려면 다음을 실행하십시오.

ip address

위의 ip 명령은 다음과 같이 축약 될 수 있습니다.

ip a

여전히 ifconfig일일 sys 관리 루틴의 일부로 사용하려는 경우 net-tools패키지의 일부로 쉽게 설치할 수 있습니다 .

apt-get install net-tools

참조는 여기


고마워, 이것은 나를 위해 큰 도움이되었습니다. 나를위한 문제는 로컬 아파치 서버가 ip 10.0.2.2를 통해 처리 될 수 있다는 것을 몰랐다는 것입니다. ... ipconfig 등의 쇼와 같은 다른 IP 주소를 많이 시도합니다. 그러나 다시 한 번 감사드립니다!
Vidar Vestnes

4
이 문제 해결책을 이해하지 못합니다. 전화기가 서버에 액세스하는 방법에 대해 도와 줄 수 있습니까? 나는 당신이 나 에게이 솔루션을 살려주 길 바랍니다. 감사.
iremce

1
아래 내 의견을 읽으십시오 .. 또한 인터넷 액세스 권한이 있어야합니다. <uses-permission android : name = "android.permission.INTERNET"/>
Sanjay Kumar

3
@simo는 라우터 홈페이지, XFinity의 경우 10.0.0.1, 보통 192.168.1.1로 이동하여 로그인하고 연결된 장치 또는 로컬 IP를 찾고 컴퓨터와 bam을 찾으십시오. 내 것은 10.0.0. #이고 [10.0.0. # :( port) / Server / Servlet] 또는 무엇이든 추가하십시오
jp093121

2
이 질문에 대한 답이 아닙니다. Chrome devtools 및 adb reverse의 포트 전달은 USB 케이블로 완벽하게 작동합니다.
Roger Madsen

228

실제로는 매우 간단합니다.

  • Android 휴대 전화 / 라우터의 WiFi 핫스팟을 켜고 랩톱을 휴대 전화에 연결
  • 서버를 시작하십시오 localhost(Windows 용 WAMP 서버를 사용하고 있습니다).
  • 이제 명령 프롬프트를 열고 다음을 입력하십시오
ipconfig

완료하면 다음과 같은 내용이 표시됩니다.

무선 LAN 어댑터 무선 네트워크 연결 :
  연결 별 DNS 접미사. :
  링크 로컬 IPv6 주소. . . . . : fe80 :: 80bc : e378 : 19ab : e448 % 11
  IPv4 주소. . . . . . . . . . . : 192.168.43.76
  서브넷 마스크 . . . . . . . . . . . : 255.255.255.0
  기본 게이트웨이 . . . . . . . . . : 192.168.43.1
  • IPv4 주소를 복사하십시오 (이 경우에는 192.168.43.76).
  • 모바일 브라우저에서 간단히 IPv4 주소를 붙여 넣기

참고 : 네트워크를 " 홈 네트워크 " 로 설정하십시오 . 네트워크를 홈 네트워크로 설정하면 PC가 같은 네트워크에있는 다른 장치와 자료를 공유 할 수 있습니다.

Windows 10을 사용하는 경우 다음을 수행하여 수행 할 수 있습니다.

  • 설정 열기
  • 네트워크 및 인터넷으로 이동
  • 왼쪽 메뉴에서 WiFi 를 선택하십시오
  • 연결된 WiFi 이름을 탭하십시오
  • 네트워크네트워크 프로파일개인으로 설정

문제가있는 경우 Windows 방화벽과 관련이있을 가능성이 큽니다.

  • 제어판 열기
  • Windows Defender 방화벽으로 이동
  • Windows Defender 방화벽을 통한 앱 또는 기능 허용을 누릅니다.
  • 앱이 개인 네트워크에 활성화되어 있는지 확인하십시오 (틱이 있어야 함)
  • 활성화 되어 있지 않으면 설정 변경을 누르고 앱의 비공개 아래에있는 확인란을 선택 하십시오.

30
흠 .. 그러나 브라우저가로드하는 데 시간이 오래 걸리는 것 같습니다. 내가 뭔가 잘못하고 있습니까? 그리고 홈 네트워크의 의미는 무엇입니까
Lion789

12
컴퓨터에서도 방화벽을 끄십시오.
Minh Nguyen

2
그러나 방화벽을 끄는 것이 도움이되었습니다. 감사.
Beemo

2
* 홈 네트워크 : (홈 네트워크 란 컴퓨터가 동일한 네트워크의 장치와 물건을 공유 할 수 있도록 허용 한 것을 의미합니다
Leap Hawk

6
"Windows Defender 방화벽을 통한 앱 또는 기능 허용을 탭합니다. 앱이 개인 네트워크에 대해 활성화되어 있는지 확인하십시오 (진드기가 있어야 함)"무슨 앱입니까?
Liz Lamperouge

71

Mac OS X 사용자

나는 이것을 가능하게함으로써 이것을 달성했다. 원격 관리 .

  • 휴대 전화와 노트북이 컴퓨터에 연결되어 있는지 확인하십시오 동일한 WiFi 네트워크에
  • Mac에서는 System preferences/sharing
  • 원격 관리 활성화

다음과 유사한 메시지가 나타납니다.

  • 다른 사용자는 주소를 사용하여 컴퓨터를 관리 할 수 ​​있습니다 some.url.com

Android 기기에서 이제 Mac으로 some.url.com위임 할 localhost수 있습니다. ifconfigMac의 IP 주소를 얻는 데 사용할 수도 있습니다 .


휴대용 솔루션 ngrok(Node.js가있는 모든 OS)

프로젝트를 임시 도메인에 노출시키는 것이 마음에 들지 않으면를 사용할 수 있습니다 ngrok. localhost:9460간단하게 작성할 수 있는 앱이 있다고 가정 해 보겠습니다.

npm install ngrok -g

ngrok http 9460

이것은 나에게 줄 것이다 :

온라인 세션 상태
사용 가능한 업데이트 업데이트 (버전 2.2.8, 업데이트 할 Ctrl-U)
버전 2.2.3
지역 미국 (미국)
웹 인터페이스 http://127.0.0.1:4040
전달 http://f7c23d14.ngrok.io-> localhost : 9460
전달 https://f7c23d14.ngrok.io-> localhost : 9460

연결부 ttl opn rt1 rt5 p50 p90
                              0 0.00 0.00 0.00 0.00 0.00

이제 https://f7c23d14.ngrok.io원격으로 볼 수있는 방법으로 접근 할 수 있습니다 localhost. 고객과 디자인 작업 또는 진행 상황을 공유하는 것이 좋습니다.


nginx프록시 패스가있는 대체 솔루션

이와 같은 것을 실행하고 있다면 nginx proxy_pass조금 더 조정해야합니다.

  • 위에서 언급 한대로 원격 관리 사용
  • 임시 포트에서 수신 대기하도록 서버를 설정 81반대로80
  • 다음 명령을 입력하십시오 :
sudo nginx -s reload
  • 방문 http://youripaddress:81
server {
  listen 80;
  listen 81;   # <-------- add this to expose the app on a unique port
  server_name  ~^(local|local\.m).example.com$;
  # ...
}

새로 고침 및 방문 http://youripaddress:81


2
이 '원격 관리'설정을 사용하는 경우 알아야 할 또 다른 유용한 점은 mamp에서 실행중인 별칭 서버가 많은 경우 모바일 장치 (usb를 통해 연결됨)는 첫 번째 <VirtualHost>에만 액세스 할 수 있다는 것입니다. httpd-vhosts.conf에 정의되어 있으므로 현재 프로젝트를 목록의 맨 위로 이동하십시오.
DrewT

말씀 드린대로 Mac에서 원격 관리를 사용하도록 설정했으며 컴퓨터를 원격으로 관리 할 수있는 다양한 방법에 대한 다른 확인란이 제공되었습니다. Observe를 제외하고는 모두 체크 표시하지 않고 나에게 잘 작동했습니다. 내 웹 서버가 로컬 호스트 포트 5555의 Mac에서 실행 중이고 "다른 사용자가 주소 10.0.0.12를 사용하여 컴퓨터를 관리 할 수 ​​있습니다"라는 것을 알았으므로 휴대 전화의 브라우저에서 10.0.0.12:5555를 입력하여 내 웹 페이지를 보았습니다.
Marcus

IP를 사용할 때 작동 192.168.0.101했지만 호스트 이름이 작동하지 않았습니다.
Krishnadas PC

6
Mac에서는 메뉴 표시 줄에서 Wi-Fi를 Alt + 클릭하면 IP 주소를 얻을 수 있습니다.
matharden

방화벽을 비활성화했지만 여전히 연결이 거부되었다는 메시지가 표시됩니다. 어떻게 작동하는지 알 수 있습니까?
Unnikrishnan

67

간단한 해결책 ( laptop_ip_addr:port모바일 장치와 랩톱이 동일한 WiFi에있을 때 모바일 장치에서 액세스 )으로 인해 ERR_CONNECTION_REFUSED 오류가 발생합니다. 즉, MacBook이 모바일 연결 시도를 거부하는 것 같습니다.


ADB 리버스 소켓 (Android 만 해당)

이 솔루션 저에게 효과적 입니다 (MacBook에서 테스트).

  1. USB 케이블로 Android 모바일 기기를 노트북에 연결
  2. 휴대 기기에서 USB 디버깅 사용
  3. 노트북에서 실행 adb reverse tcp:4000 tcp:4000
    • 대신 사용자 정의 포트 번호를 사용하십시오 4000
  4. 이제 휴대 기기에서로 이동 http://localhost:4000/하면 실제로 휴대 기기가 아닌 랩톱에 연결됩니다.

여기의 지침을 참조 하십시오 .

단점은 한 번에 하나의 모바일 장치 에서만 작동한다는 입니다. 다른 모바일 장치로 액세스하려면 먼저 첫 번째 장치의 연결을 끊고 ( USB 디버깅 사용 안함 ) 새 장치를 연결하고 ( USB 디버깅 사용 ) adb reverse tcp:4000 tcp:4000다시 실행 해야합니다.


ngrok (모든 장치에서 작동)

항상 작동 해야하는 또 다른 솔루션은 ngrok입니다 (다른 답변에서 언급했듯이). 로컬 네트워크가 아닌 인터넷을 통해 작동합니다.

사용이 매우 쉽습니다.

brew cask install ngrok
ngrok http 4000

이것은 다른 정보 중에서 다음과 같은 줄을 출력합니다.

Forwarding                    http://4cc5ac02.ngrok.io -> localhost:4000

이제 http://4cc5ac02.ngrok.io인터넷에 연결된 모든 장치를 탐색 할 수 있으며이 URL localhost:4000은 랩톱으로 리디렉션됩니다 .

ngrok 명령이 실행되는 동안 ( Ctrl-C를 누를 때까지 ) 프로젝트가 공개적으로 제공됩니다. URL이있는 모든 사람이 볼 수 있습니다.


2
당신은 내 인생의 친구를 저장
할 수

감사합니다. 당신은 저를 많이 도와주었습니다. 나는 4000 포트를 3000으로 대체하는 adb reverse를 사용했으며 필요에 따라 작동했습니다.
Marcus Crisostomo

드디어 효과가 있었어요, 고마워요!
Alex

38

이 문제에 대한 빠른 해결책을 찾았습니다. 이 링크를 사용해보십시오 . 문제 해결에 도움이됩니다.

튜토리얼에서 '127.0.0.1'을 'All'로 변경하고 서버가 실행중인 IP 주소로 변경하는 한 가지만 변경했습니다.

그 후에는 로컬 호스트에 연결할 수 있어야합니다.


아래는 링크 된 페이지에있는 정보의 교정본입니다.

1 단계

Wamp 서버 (또는 원하는 다른 서버)를 설치하십시오.

이것은 로컬 서버를 설정하는 데 가장 적합한 서버 중 하나입니다. Apache 또는 다른 서버를 설치 한 경우이 단계를 무시하십시오.

여기에서 Wamp Server를 다운로드하여 설치하십시오.

2 단계

Windows 방화벽에서 포트 80에 대한 새 규칙을 추가하십시오.

  1. 제어판을 열고 Windows 방화벽을 선택하십시오.

  2. Windows 방화벽 설정 페이지의 왼쪽 패널에서 고급 설정을 선택하십시오.

  3. 왼쪽 패널에서 인바운드 규칙을 선택한 다음 새 규칙을 선택하십시오.

  4. 포트를 선택하고 다음을 클릭하십시오.

  5. "특정 로컬 포트"라디오 버튼을 선택하고 포트 값으로 80을 입력하십시오.

  6. 연결을 변경하지 않고 다음 단계로 이동하십시오.

  7. 프로파일 옵션을 변경하지 않고 다음을 클릭하십시오.

  8. 새 규칙에 좋은 이름을 지정하고 완료를 클릭하십시오.

로컬 네트워크 IP에서 포트 80 액세스가 가능합니다.

3 단계

403 오류를 수정하려면 Wamp 서버의 httpd.conf 파일을 편집하십시오.

이 파일을 편집해야합니다. 그렇지 않으면 로컬 네트워크 IP를 통해 로컬 호스트에 액세스 할 때 403 금지 오류가 발생합니다.

  1. Wamp 서버 트레이 아이콘을 클릭하십시오.

  2. Apache 서버 하위 메뉴를 엽니 다.

  3. httpd.conf를 선택하십시오.

  4. httpd.conf 파일에서이 구성 섹션을 찾으십시오.

    Directory c:/wamp/www/”
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    # Controls who can get stuff from this server.
    #
    
    # onlineoffline tag – don’t remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

'127.0.0.1'을 찾아 'All'로 바꾸고 파일을 저장 한 후 Wamp 서버를 다시 시작하십시오.

4 단계

로컬 네트워크 IP를 찾으십시오.

  1. 명령 프롬프트를여십시오.

  2. ipconfig명령을 입력하고 입력하십시오 .

  3. 필자의 경우 로컬 영역 네트워크 주소는 10.0.0.2입니다.

Wi-Fi를 통해 Android 휴대 전화에서 로컬 호스트에 액세스해야하는 IP입니다. 작동하는지 테스트하려면 로컬 호스트 서버가 설치된 데스크탑 브라우저에이 IP 주소를 입력하십시오. 브라우저가 로컬 호스트 페이지를 성공적으로 표시해야합니다. 이렇게하면 이제이 로컬 네트워크 IP가 Android 전화에서 성공적으로 액세스 될 수 있습니다.

이 튜토리얼이 wifi를 통해 로컬 호스트에 액세스하는 데 도움이되기를 바랍니다.


감사! 이것은 너무 쉽게 작동했습니다. 단 하나; httpd.conf를 다음과 같이 두었습니다.# onlineoffline tag - don't remove Order Allow,Deny Allow from all
numediaweb

1
튜토리얼은 Windows 기반입니까? 응?
abbood

1
링크가 더 이상 작동하지 않으므로 정보를 SO에 추가하지 않았으므로 전체 답변을 쓸모가 없습니다.
rtack

Wamp 서버 v3의 경우 금지 된 오류가 발생했습니다. vhosts 정보를 수정하는 방법에 대한 이 답변 stackoverflow.com/questions/23382627/… 를 확인하십시오 (위에 표시된대로 httpd.conf 파일을 편집하지 마십시오)
friek108

이것은 실제로 보이는 Wamp의 오래된 버전입니다. 설정 파일은 이제 조금 더 복잡합니다. 특히 VHosts 기능을 사용하는 경우. 너무 많은 오버라이드 레이어를 알아낼 수 없습니다.
Jonathan

37

Windows PC의 경우 "ipconfig"명령을 사용하여 IPv4 주소를 찾는 것 외에 다른 작업을 수행하지 않아도됩니다.

  • 1 단계 : USB 케이블을 사용하여 휴대폰을 PC에 연결합니다.
  • 2 단계 : 'ipconfig'명령을 사용하여 IPv4 주소 (라우터의 외부 IP)를 찾으십시오 (예 : 192.168.1.5).
  • 3 단계 : 전화 브라우저에서 "192.168.1.5:8080"에 액세스하십시오. 효과가있다 !

기타 환경 세부 정보 : Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, Grails Application.

또한 AndroidManifest 파일에서 인터넷에 액세스 할 수있는 권한이 있는지 확인해야합니다.

<uses-permission android:name="android.permission.INTERNET"/>

시도했지만 "연결이 거부되었습니다"라는 메시지가 계속 나타납니다. 왜? :( 포트는 8080이어야합니까? 현재 웹 서비스가 다른 포트에서 실행 중입니다.
Triet Doan

2
포트 8080에서 바람둥이를 사용하고있었습니다. 8080 대신 자신의 서버 포트를 추가 할 수 있습니다.
Sanjay Kumar

그리고 웹앱은 어떻습니까? 네이티브 앱이
아님

여전히 로컬 호스트에 액세스 할 수 없습니다
Anna Leonenko

나는 그것을 시도했지만 그것은 말한다java.io.FileNotFoundException: http://192.168.8.65:8000/app/web/users/
Moeez

16

그러나 훨씬 더 나은 해결책이 있습니다. IP 주소 "10.0.2.2"를 사용하여 호스트 시스템에 액세스 할 수 있습니다. 이것은 안드로이드 팀에 의해 이런 식으로 설계되었습니다. 따라서 웹 서버는 localhost에서 완벽하게 실행할 수 있으며 Android 앱에서 "http://10.0.2.2:8080"을 통해 액세스 할 수 있습니다.


4
사실, 트릭은 컴퓨터의 로컬 IP 주소를 지정하고 안드로이드 장치와 컴퓨터 일명 시스템 사이에 연결된 무선 라우터를 통해 액세스하는 것입니다
Akhil Jain

좋은 점은 로컬 호스트와 에뮬레이터를 통신하기 위해 이것을 정확히 찾고있었습니다. 감사!!
Eagle

13

이것은 오래된 질문이므로 실제로는 매우 간단한 새로운 방법이 있습니다. ADB Chrome 확장 프로그램을 다운로드 한 후 다음 지침을 따르십시오.

https://developers.google.com/chrome-developer-tools/docs/remote-debugging


3
더 이상 사용되지 않는 ADB는 더 이상 다운로드 할 필요가 없지만 developers.google.com/chrome-developer-tools/docs/… 로 이동 하여 안내를 따릅니다. 참고 : 나는 로컬 호스트 앞으로 포트 8443에 있었다 : 8443
디미트리에게

기기의 Chrome에서 URL 호출에만 작동합니까, 아니면 내 앱에서도 작동해야하나요?
Orkun Ozen

3
이를 통해 올바른 방향으로 나아갔습니다. Chrome 개발자 도구에 대한 최신 답변은 여기에서 찾을 수 있습니다. Android Chrome Reverse Port Forwarding
Richard Le Mesurier

기기에 Google 크롬이 설치되어 있지 않아서 멈췄습니다. 도!
채드 빙엄

9

"Android 용 Chrome에서 포트 전달을 사용하면 모바일에서 개발 사이트를 쉽게 테스트 할 수 있습니다. 개발 기기의 특정 TCP 포트에 매핑되는 모바일 장치에서 수신 대기중인 TCP 포트를 만들어 작동합니다.이 포트 간의 트래픽은 USB, 연결은 네트워크 구성에 의존하지 않습니다. "

자세한 내용은 https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding


9

이 솔루션은 모바일 장치와 컴퓨터가 동일한 네트워크에 있지 않을 때 사용할 수 있습니다.

이 경우 포트 전달을 사용해야합니다. Google 크롬 검사 창 (chrome : // inspect)에서 연결된 장치를 볼 수 있습니다. 여기에 이미지 설명을 입력하십시오

포트 포워딩 버튼을 클릭하고 3000이라는 임의의 포트를 랩톱이 사용하는 포트 8080으로 설정하십시오.

여기에 이미지 설명을 입력하십시오

이제 장치에서 localhost : 3000을 사용하여 랩톱의 localhost : 8080 (or_whatever_ip : portno)에 액세스하십시오. 모바일 브라우저에서 확인할 수 있습니다. 모바일 브라우저에서 localhost : 3000을 시도하십시오. "포트 포워딩 설정"창에서 "포트 포워딩 활성화"체크 상자를 확인하십시오


나는 당신을 사랑합니다! 이 단계로 튜토리얼을 작성해야합니다!
Rafael Gomes Francisco

7

CMD를 관리자로 실행

CMD 화면에서 ipconfig를 입력 하면 화면에 텍스트가 나타납니다

이 사진으로 여기에 이미지 설명을 입력하십시오

이 IP를 사용하여 로컬 호스트에 액세스 할 수 있습니다 .PC에 연결된 것과 동일한 네트워크에 연결되어 있어야합니다


방화벽을 끄십시오
SalindaKrish

6

웹 인터페이스가 네트워크 인터페이스가 아닌 루프백 인터페이스에서 수신 대기 할 수 있습니다. 이것의 주요 징후는 다음과 같습니다.

  • 조회수 127.0.0.1localhost로컬 호스트 또는 Android 에뮬레이터에서
  • 192.168.xxx.xxx로컬 호스트, LAN 또는 WAN에서 히트 가 작동하지 않음

나는 이것을 진단하고 여기 에 대한 답변으로 이것을 고치는 것에 대해 더 이야기 합니다 .


6

이 파일로 가십시오 : C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all // change it Deny
    Allow from 127.0.0.1

그리고 10.0.2.2를 IP 주소로 변경하십시오.


"거부"인 경우 양식을 모두 허용하도록 죄송합니다.
bangptit

저는 XAMPP를 사용하고 있으며이 비디오는 작동에 대한 답변을 제공했습니다. youtube.com/watch?v=YrA_yN3gySs
Leon

5

마침내 Ubuntu에서 완료되었습니다 .localhost에서 nodejs 서버를 실행 중입니다 : 8080

1) 열린 터미널 유형 ifconfig 다음과 같이 ip를 얻습니다 : inet addr : 192.168.43.17

2) 이제 "192.168.43.17:8080"(로컬 호스트 포트 번호에서 오는 8080 포트)과 같은 URL 주소를 입력하십시오. 예 : "192.168.43.17:8080/fetch"


이것은 동일한 네트워크에 연결된 경우에만 작동합니다. 인터넷없이 작동하는 무언가가 필요합니다
Geek Guy

5

우분투 / 맥북에서 이것을 사용하여 시스템의 IP 주소를 얻으십시오. 모바일과 시스템이 동일한 네트워크에 있어야합니다

ip addr | grep inet이것은 당신에게 보이는 IP 주소를 줄 것이다 192.168.168.46. 이것을 스마트 폰에서 사용하십시오.

도움이 되었기를 바랍니다.


4

나는이 과정을 사용했다 :

  • PC에 Fiddler 설치
  • 우수한 지침에 따라 PC 및 Android 장치를 설정하십시오.
  • Android 기기의 브라우저로 이동하여 http : //ipv4.fiddler를 입력하여 로컬 호스트에 액세스하십시오.

이 프로세스를 수행하려면 모든 세션의 시작과 끝에서 Android 장치의 WiFi 설정을 변경해야합니다. 나는 이것이 고통스럽지 않다는 것을 알았고 내 안드로이드 장치를 응원했습니다.


3

여러 다른 로컬 호스트 서버를 사용하여이 문제가 발생했습니다. 마지막으로 Python 간단한 서버를 사용하여 몇 초 만에 내 앱을 휴대 전화에서 실행했습니다. 몇 초 밖에 걸리지 않으므로 더 복잡한 솔루션에 들어가기 전에 시도해 볼 가치가 있습니다. 먼저 파이썬이 설치되어 있는지 확인하십시오. cmd+r및 입력 pythonWindows 또는 대한$ python --version 맥 터미널에서.

다음:

cd <your project root>

$ python -m SimpleHTTPServer 8000

그런 다음 네트워크에서 호스트 컴퓨터의 주소 System Preferences/Sharing를 찾으십시오. 매킨토시에서 찾았습니다. 당신의 안드로이드 장치에 그것을 누르고 당신의index.html 하고 당신은 잘해야합니다.

그렇지 않은 경우 문제는 다른 것이며 다른 제안 된 솔루션을 살펴볼 수 있습니다. 행운을 빕니다!

* 편집하다 *

Chrome을 사용하는 경우 시도 할 수있는 또 다른 빠른 솔루션은 Chrome 용 웹 서버 확장입니다. 내 전화에서 로컬 호스트에 액세스하는 빠르고 쉬운 방법을 찾았습니다. Accessible to local network아래에서 확인 Options하면 문제없이 셀에서 작동해야합니다.

여기에 이미지 설명을 입력하십시오


파이썬 이외의 다른 서버 측 언어에서도 작동합니까?
MASh

3

ngrok를 사용하면 로컬 호스트를 임시 서버에 배치 할 수 있으며 설정이 매우 간단합니다. 링크에서 찾을 수있는 몇 가지 단계를 여기에 제공했습니다.

  1. 위의 링크에서 ngrok zip을 다운로드하십시오
  2. 지퍼를여십시오
  3. 서버를 로컬로 실행하고 포트 번호를 기록하십시오.
  4. 터미널에서 ngrok가있는 폴더로 이동하여 다음을 입력하십시오. ngrok http [port number]

터미널에 로컬 호스트를 가리키는 주소가있는 작은 대시 보드가 표시됩니다. 앱이 해당 주소를 가리키고 장치를 빌드하십시오.


서버 외부에 액세스 할 때만 유용합니다. 서버의 로컬 IP 주소 만 사용할 수 있습니다.
OneCricketeer

3

우선 휴대 전화와 컴퓨터를 일반적인 Wi-Fi에 연결하세요.

그런 다음 관리자 권한으로 실행을 사용하여 명령 프롬프트를 엽니 다.

ipconfig 명령 제공

무선 LAN IP를 보여줍니다

전화로 액세스하려면 서버의 ip : port를 사용하십시오.


3

기본 localhost를 설정하는 가장 쉬운 방법은 http : // localhost : port를 사용하는 것 입니다. 이것은 랩톱 및 Android에서도 작동합니다.

작동하지 않으면 Android에서 휴대 전화의 기본 IP를 127.0.0.1:port :)로 설정하십시오.

터미널 열기 및 유형 :-

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*

2

우선 컴퓨터 (서버가 실행중인 곳)의 IP 주소를 정적으로 만드십시오. 이 고정 IP 주소를 안드로이드 코드에 입력하십시오. 다음으로 Wi-Fi 라우터의 인터페이스로 이동하여 왼쪽 패널을 확인하십시오. 포트 포워딩 / 포워딩과 같은 옵션이 표시됩니다. 그것을 클릭하고 포트 80을 전달하십시오. 이제 htttpd.conf파일을 편집하고 편집하십시오.

모두 허용

. 서버를 다시 시작하십시오. 이제 모든 것이 잘 작동합니다.

또한 항상 IP 주소가 할당되도록 컴퓨터의 IP 주소를 예약 할 수 있습니다. 라우터 인터페이스의 왼쪽 패널에서를 찾아 DHCP -> Address Reservation클릭하십시오. 기기의 MAC 주소와 코드에 입력 한 IP 주소를 입력하십시오. 저장을 클릭하십시오. 컴퓨터의 지정된 IP 주소가 예약됩니다.


2

랩톱을 기반으로 모바일 장치를 amp 프 서버에 연결하는 솔루션 :

첫째, wifi는 라우터가 아닙니다. 따라서 랩톱의 localhost를 기반으로 내 모바일 장치를 wamp 서버에 연결하려면 라우터가 필요합니다. 무료 가상 라우터를 다운로드하여 설치했습니다 : https://virtualrouter.codeplex.com/

그것을 구성하는 것은 정말 간단합니다.

  1. 시스템 트레이에서 가상 라우터 아이콘을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 가상 라우터 구성을 클릭하십시오.
  3. 비밀번호를 입력하십시오
  4. 인터넷 연결이 이더넷 인 경우 공유 연결 : 이더넷을 선택하십시오.
  5. 그런 다음 랩톱 및 장치에서 wifi를 설정하십시오.
  6. 장치에서 가상 라우터 네트워크 이름에 연결

그런 다음 브라우저를 시작하여 장치를 통해 랩톱에 연결하고 랩톱의 IPV4 주소를 채울 수 있습니다 (Windows에서 찾으려면 cmd : ipconfig를 입력하고 ipv4 주소를 찾으십시오).

wamp 서버 홈페이지가 나타납니다.


2

하나의 대답이 받아 들여졌지만 이것은 나를 위해 일했습니다.

  1. 컴퓨터와 안드로이드 기기가 모두 동일한 네트워크에 있는지 확인하십시오.
  2. 컴퓨터의 IP 주소를 얻으십시오. ( ifconfig터미널 내부 에 mac 유형의 경우 en0/en1 -> inet다음과 같아야 19*.16*.1.4합니다.) (Windows에서는`ipconfig를 사용하십시오)
  3. 모바일 설정을 열고 네트워크-> Wi-Fi 네트워크를 길게 누르십시오-> 네트워크 수정-> 고급 옵션으로 아래로 스크롤-> 프록시 수동 선택을 선택하고 프록시 호스트 이름에 주소를 19*.16*.1.4입력하십시오. 저장하십시오.

  4. what is my ip구글 크롬에서 검색하고 IP를 얻으십시오.1**.1**.15*.2**

  5. 1**.1**.15*.2**:port/휴대 기기에서 액세스 해보 십시오.

이만큼 간단합니다.


WiFi를 통한 프록시가 필요하지 않으며 로컬 네트워크 내에 외부 IP 주소가 필요하지 않습니다
OneCricketeer

2

이것은 나를 위해 일한 것입니다 .127.0.0.1 ip 뒤에 다른 줄을 추가하여 사용하려는 장치의 정확한 로컬 네트워크 IP 주소 (공용 IP 주소가 아님)를 지정했습니다. 제 경우에는 Samsung Galaxy S3

Bangptit이 제안한대로 httpd.conf 파일 (x는 버전 번호)을 편집하십시오. C : \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

onlineoffline 태그를 검색하고 전화기의 IP를 추가하십시오 (라우터 구성 페이지에서 전화기의 IP 주소를 찾았습니다).

onlineoffline 태그-제거하지 마십시오

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

아래 줄에 내 전화 IP

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

예를 들어 192.168.1.0/24 등의 전체 하위 도메인을 포함하도록 이것을 확장 할 수 있습니다


2

가장 쉬운 방법은 (완벽하게 작동했습니다) 사이트를 로컬에서 호스팅 0.0.0.0:<port_no>하고 모바일 장치를 사용하여 사이트에 액세스하고 <local_ipv4_address>:<port_no>/<path>브라우저 에서 사용하는 것 입니다.

  • 로컬 ipv4 주소를 알려면 ipconfigcmd를 입력하십시오.
  • 동일한 네트워크에 연결된 모든 장치가이 URL에 액세스 할 수 있습니다.

2

Ngrok 이 최고의 솔루션입니다. PHP를 개발하는 경우 Laravel Valet 설치를 권장합니다. MacOS 및 Linux 버전이 있으므로 valet share명령을 사용할 수 있습니다 . 프론트 엔드 기술을 개발 중이고 3000과 같은 포트를 공유해야하는 경우 ngrok를 직접 사용하십시오.ngrok http 3000


1

미래 개발자를위한 솔루션 추가

IP 주소의 주소를 복사하십시오. 네트워크를 마우스 오른쪽 버튼으로 클릭-> 네트워크 및 공유-> 현재 연결을 클릭하십시오-> 세부 정보-> ipv4 주소 옆의 주소는 IP 주소입니다.

제어판-> 시스템 및 보안-> Windows 방화벽-> 고급 설정-> 인바운드 규칙-> 새 규칙으로 이동하십시오 (예 : 80, 포트를 추가하는 단계를 따르십시오)

적어 둔 IP 주소와 전화 브라우저에 적어 둔 포트 번호를 입력하십시오. 예 : 192.168.0.2:80 및 wala.

연결되지 않으면 가능한 해결책입니다. 마우스 오른쪽 버튼으로 네트워크-> 네트워크 열기 및 공유-> 연결 유형 아래에서 연결 이름 아래에서 활성 연결을보고 공용 인 경우 클릭하고 홈 네트워크로 변경하십시오.


1

확인해야 할 또 다른 사항은 2.4G와 5G가 모두 활성화되어 있고 장치의 주파수가 다른 경우 일부 라우터에서 요청을 브리징하는 데 문제가 있다는 것입니다. 두 장치가 동일한 인터페이스에 연결되도록 주파수 중 하나를 비활성화하려고합니다.



0

개인적으로 나는 장치를 사용할 때 localhost를 사용한다고 주장하지 않으며 쉬운 해결책이 없습니다.

에뮬레이터를 사용할 수있는 localhost에 연결하는 활동을 시작하십시오. 장치에서 얻는 정보는 쉽게 생성 할 수 있으며 매개 변수로 활동에 보낼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.