[windows] Windows 호스트 파일에서 포트 번호 사용

TeamViewer를 설치 한 후 wampserver 포트를 8080으로 변경하여 주소가 http://localhost:8080.

C : \ WINDOWS \ system32 \ drivers \ etc \에있는 호스트 파일의 경우 다음과 같이 변경했습니다.

전에
127.0.0.1 www.example.com


127.0.0.1:8080 www.example.com

www.example.com에 액세스하면 wampserver로 리디렉션되지 않습니다. 어떻게 해결할 수 있습니까?



답변

hosts파일은 호스트 이름 확인 전용입니다 (Windows 및 Unix 계열 시스템). 포트 번호를 입력 할 수 없으며 일반적인 OS 수준 구성으로 원하는 작업을 수행 할 수있는 방법이 없습니다. 브라우저는 선택할 포트를 선택합니다.

북마크 나 이와 비슷한 것을 사용하십시오.
(일부 방화벽 / 라우팅 소프트웨어는 아웃 바운드 포트 리디렉션을 허용 할 수 있지만 실제로 매력적인 옵션은 아닙니다.)


답변

Fiddler 2 응용 프로그램을 통해 hosts 파일을 수정하면 원하는 것을 얻을 수 있습니다 .

다음과 같이하세요:

  1. Fiddler2 설치

  2. Fiddler2 메뉴로 이동하십시오 .- 도구 > 호스트 .. (선택하려면 클릭)

  3. 다음과 같은 줄을 추가하십시오.

    localhost:8080 www.mydomainname.com

  4. 파일을 저장 한 다음 www.mydomainname.com브라우저에서 체크 아웃하십시오 .


답변

Windows에 포함 된 네트워킹 도구를 사용하여이를 달성했습니다 netsh.

Mat가 지적한 것처럼 : hosts 파일은 호스트 이름 확인 전용이므로 두 가지를 조합하면 나에게 속임수가되었습니다.


개요

example.app:80
 |                           <--Link by Hosts File
 +--> 127.65.43.21:80
       |                     <--Link by netsh Utility
       +--> localhost:8081

행위

  • 내 서버를 시작했습니다 localhost:8081
  • hosts 파일 에 “local DNS”를 새 줄로 추가했습니다.
    • 127.65.43.21 example.app
      • 네트워크의 무료 주소 127.0.0.0/8( 127.x.x.x)를 사용할 수 있습니다.
      • 참고 :127.65.43.21:80 다른 서비스가 차지하지않는다고 가정합니다.
      • 당신은 확인할 수 있습니다 netstat -a -n -p TCP | grep "LISTENING"
  • netsh 명령 유틸리티를

    사용하여 다음 네트워크 구성을 추가했습니다.

    • netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
  • 이제 서버에 액세스 할 수 있습니다 http://example.app

참고 :
-이 명령 / 파일 수정은 관리자 권한 으로 실행해야합니다.

netsh를 portproxy에서 IPv6 라이브러리를 필요로 다음 명령을 사용하여 설치 그렇지 않으면, 일반적으로 그들은 또한 기본적으로 포함되며, 심지어에만 사용 v4tov4에 :netsh interface ipv6 install


다음 명령으로 추가 한 항목 수 있습니다 .

netsh interface portproxy show v4tov4

다음 명령으로 항목제거 할 수 있습니다 .

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21


자료 링크 :


답변

피들러 2-> 규칙-> 사용자 정의 규칙

그런 다음 끝에 다음 스크립트에 OnBeforeRequest 함수를 찾으십시오.

if (oSession.HostnameIs("mysite.com")){
    oSession.host="localhost:39901";
}


답변

가장 간단한 방법은 Ergo를 리버스 프록시로 사용하는 것입니다 :
https://github.com/cristianoliveira/ergo

당신은 당신의 서비스와 IP : PORT를 설정하고 ergo는 당신을 위해 그것을 라우팅합니다 :).

당신은 사용하여 동일한 달성 할 수 nginx또는 apache그러나 당신은 그것들을 구성해야합니다.


답변

-네트워크 127.0.0.0/8에서 무료 주소를 사용할 수 있습니다. 제 경우에는 파이썬 플라스크에 이것이 필요했습니다. 이것은 내가 한 일입니다 : hosts 파일 에이 줄을 추가하십시오 (당신은 Windows : \ Windows \ System32 \ drivers \ etc) :

127.0.0.5 flask.dev
  • 필자의 경우 포트가 기본 포트 “80”인지 확인하십시오. app.run("127.0.0.5","80")

  • 이제 코드를 실행하고 찾아보십시오. flask.dev


답변

무슨 일이 일어나고 있다면 localhost에서 다른 서버를 실행 중이며이 새로운 서버에 다른 로컬 호스트 이름을 지정하려고합니다
http://teamviewer/

실제로 찾고있는 것은 가상 호스트 기능이라고 생각합니다. Apache를 사용하므로 다른 웹 데몬이 이것을 어떻게 지원하는지 모릅니다. 아마도 별명이라고 할 수 있습니다. Apache 문서는 다음과 같습니다.

아파치 가상 호스트 예제