我的问题:
我只能通过端口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到网址,那么它的工作原理; 它返回我的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使用localhost时,我显然会停止该服务.
"流浪汉"表明:
我的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
noeldiaz.. 8
您应该继续使用1024以上的端口,因为它们是非特权端口,但是如果您确实希望可以在Homestead VM上作为端口80运行,只要您没有任何东西保留在主机上的那个端口上.只是尝试了它,它有效,有一些陷阱.首先,在以下位置更改.rb文件中的该行:
config.vm.network"forwarded_port",guest:80,host:8000
至
config.vm.network"forwarded_port",guest:80,host:80
当您在保存后启动VM时,您将收到来自流浪者的警告:
==>默认:您正在尝试转发到特权端口(端口<= 1024).最
==>默认值:操作系统将此限制为仅限特权进程(通常
==>默认:作为管理用户运行的进程).这是一个警告,以防万一
==>默认:端口转发不起作用.如果出现任何问题,请尝试一下
==>默认值:端口高于1024.
==>默认:转发端口......
default: 80 => 80 (adapter 1)
但它对我有用.现在,要真正到达VM,我必须使用它的私有IP而不是localhost名称:
http://192.168.10.10/
但果然我的网站就在那里,一切正常.如果您决定保留它,则可以将该IP地址添加到hosts文件中,以便为其提供一个很好的短名称.
希望这可以帮助.
您应该继续使用1024以上的端口,因为它们是非特权端口,但是如果您确实希望可以在Homestead VM上作为端口80运行,只要您没有任何东西保留在主机上的那个端口上.只是尝试了它,它有效,有一些陷阱.首先,在以下位置更改.rb文件中的该行:
config.vm.network"forwarded_port",guest:80,host:8000
至
config.vm.network"forwarded_port",guest:80,host:80
当您在保存后启动VM时,您将收到来自流浪者的警告:
==>默认:您正在尝试转发到特权端口(端口<= 1024).最
==>默认值:操作系统将此限制为仅限特权进程(通常
==>默认:作为管理用户运行的进程).这是一个警告,以防万一
==>默认:端口转发不起作用.如果出现任何问题,请尝试一下
==>默认值:端口高于1024.
==>默认:转发端口......
default: 80 => 80 (adapter 1)
但它对我有用.现在,要真正到达VM,我必须使用它的私有IP而不是localhost名称:
http://192.168.10.10/
但果然我的网站就在那里,一切正常.如果您决定保留它,则可以将该IP地址添加到hosts文件中,以便为其提供一个很好的短名称.
希望这可以帮助.
我看到有一个公认的答案,但这个替代方案也可以帮助某人.如果我理解正确你真的不喜欢端口"8000"!
您是否尝试过设置专用网络?
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| /*other config stuff here */ config.vm.network :private_network, ip: "192.168.33.22"
这样,您可以简单地使用该IP地址,或编辑主机文件以将本地域映射到该IP.
看看Vagrant docs:Vagrant Private Networks
顺便说一下,您不应该关闭IIS本地服务器,因为它在完全不同的IP范围上运行.我在本地运行Apache,同时也访问VM服务器.如果需要,这允许您在本地使用作曲家(拉入laravel)等工具.