使用 Laravel Homestead 将 Vagrant 端口转发 80 到 8000

2024-01-06

我的问题:

我只能通过端口 8000 访问我的网站,但不能通过 80,这让我认为它没有像它所说的那样将 80 重定向到 8000。我想简单地在浏览器中输入 local.kujif.com ,它就会加载该网站,我读到的默认端口是 80 端口。我正在使用curl来检查它,它返回:

curl 'http://local.kujif.com'
curl: (7) Failed connect to local.kujif.com:80; No error

但是,如果我将 :8000 添加到 url 中,那么它就可以工作;它返回我的index.php,它只是打印“test”:

curl 'http://local.kujif.com:8000'
test

我的细节:

我正在使用 Laravel Homestead 和 Vagrant 以及 Oracle VM VirtualBox。

在 Homestead.rb 中有端口转发。我根本没有编辑它:

config.vm.network "forwarded_port", guest: 80, host: 8000
config.vm.network "forwarded_port", guest: 3306, host: 33060
config.vm.network "forwarded_port", guest: 5432, host: 54320

我还为我的工作安装了 Microsoft IIS。显然,每当我需要流浪者使用本地主机时,我都会停止该服务。

“vagrant up”显示:

我的 Homestead.yaml 文件:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: /Users/Tyler/.ssh/id_rsa.pub

keys:
    - /Users/Tyler/.ssh/id_rsa

folders:
    - map: C:\DEV\Linux
      to: /var/www/

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: local.kujif.com
      to: /var/www/kujif

variables:
    - key: APP_ENV
      value: local

您应该继续使用 1024 以上的端口,因为它们是非特权端口,但如果您确实需要,您可以在 Homestead VM 上作为端口 80 运行,只要主机上没有任何东西占用该端口。刚刚尝试了一下,它有效,但有一些问题。首先,将 .rb 文件中的该行更改为:

config.vm.network“forwarded_port”,访客:80,主机:8000

to

config.vm.network“转发端口”,访客:80,主机:80

当你保存后启动虚拟机时,你会收到来自 vagrant 的警告:

==> 默认:您正在尝试转发到特权端口(端口

==> 默认:操作系统将此限制为仅特权进程(通常

==> 默认:以管理用户身份运行的进程)。这是一个警告,以防万一

==> 默认:端口转发不起作用。如果出现任何问题,请尝试

==> 默认:端口高于 1024。

==> 默认:转发端口...

default: 80 => 80 (adapter 1)

但这对我有用。现在,要真正访问虚拟机,我必须使用它的私有 IP 而不是本地主机名称:

http://192.168.10.10/

但果然我的网站在那里并且一切正常。如果您决定保留它,您可以将该 IP 地址添加到您的主机文件中,为其指定一个漂亮的短名称。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Laravel Homestead 将 Vagrant 端口转发 80 到 8000 的相关文章

随机推荐