포트 전달을 사용하여 호스트 이름을 통해 Vagrant VM에 연결할 때 시간 초과

포트 전달을 사용하여 호스트 이름을 통해 Vagrant VM에 연결할 때 시간 초과

나에게 배포된 Vagrant VM 설정을 가져오려고 합니다(그래서 직접 구성하지 않았습니다). VM을 성공적으로 설치했지만 vagrant up브라우저를 사용하여 호스트 이름을 조회하려고 하면 시간 초과가 발생합니다. 호스트 파일에도 호스트 이름을 설정했습니다.

Vagrantfile의 구성:

# Networking
config.vm.network :private_network, ip: "192.168.33.28"
config.vm.network :forwarded_port, guest: 80, host: 80, auto_correct: true
config.vm.network :forwarded_port, guest: 443, host: 443, auto_correct: true
config.vm.hostname = "mysite.local"

내 호스트 파일의 줄:

192.168.33.28   mysite.local secure.mysite.local

내가 탐색하려고 할 때http://mysite.local시간 초과가 발생합니다.

Vagrantfile 구성을 다음과 같이 변경하려고 했습니다.

config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true

그런 다음 실행 중입니다 vagrant reload. 이 후에도 여전히 시간 초과가 발생 http://mysite.local:8080하지만 다음에 대한 성공적인 응답을 얻습니다.http://localhost:8080

감사합니다!

답변1

첫째, root/sudo 없이는 (호스트에서) 1024 미만의 포트에 바인딩할 수 없습니다(그리고 루트로 Vagrant를 실행하면 안 됩니다). 나는 당신이 거기에서 오류/경고 메시지를 받았다고 가정하지만 아마도 auto_correct권한이 없는 포트에 바인딩될 수도 있습니다.

private_network그리고 이미 기기의 IP 주소를 지정했으므로 포트 전달도 필요하지 않습니다. 직접 연결이 작동해야 합니다.

시간 초과의 경우 최소한 다음과 같은 이유를 생각할 수 있습니다.

  • 게스트 또는 호스트의 방화벽
  • "mysite.local" 또는 "192.168.33.28"을 제외하지 않는 HTTP 프록시 구성
  • 웹 서버 리디렉션http://mysite.local연결할 수 없는 도메인에 대한 URL
  • 192.168.33.28은 다른 VM에서 사용 중이거나 호스트의 다른 네트워크와 중복됩니다.

관련 정보