java - Vagrant:转发端口不起作用

标签 java spring networking vagrant virtual-machine

我有一个 spring 应用程序,它可编译/在 vagrant 上运行并监听 localhost:8080 (内部 Vagrant )。

这是我的Vagrantfile:

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network :forwarded_port, guest: 80, host: 9000, host_ip: "127.0.0.1"
config.vm.provision :shell, path: "bootstrap.sh"
end

现在我想通过 localhost:9000 从主机访问我的 spring 应用程序.

无论如何forwarded_port线路无法工作,我真的不知道为什么?

我必须在 Vagrantfile 中更改哪些内容?

解决方案:

Vagrantfile下面它对我有用。

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provision :shell, path: "bootstrap.sh"

config.vm.provider "virtualbox" do |v|
        v.destroy_unused_network_interfaces = true
        v.memory = 2048
        v.cpus = 4
end
end

最佳答案

它不起作用,因为应用程序正在监听 localhost

使应用程序在常规界面上监听。如果不是 Vagrant 接口(interface),您可能还需要添加 guest_ip

config.vm.network :forwarded_port, guest: 80, guest_ip: "xxx.xxx.xxx.xxx", host: 9000, host_ip: "127.0.0.1

关于java - Vagrant:转发端口不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43534433/

相关文章:

java - Java中如何解析这个Json结构

java - Spring 自定义格式化程序不工作

windows - 将主机名解析为 ip 地址

mysql - 本地 IP 与环回的数据库访问速度?

java - 如何以 fragment 形式共享从套接字接收到的数据?

java - 我无法在 IntelliJ IDEA 中使用 Maven 的依赖项

java - 如何在 Google map 上的标记上方添加文本?

java - Spring RMI错误java.lang.ClassNotFoundException : org. springframework.remoting.rmi.RmiInvocationHandler

java - jdbcTemplate 中的 ResultSetExtractor 抛出编译错误

networking - 无法解析主机名,ping 有效