Homestead ERR_SOCKET_NOT_CONNECTED Mac OS 更新后
Homestead ERR_SOCKET_NOT_CONNECTED After Mac OS Update
我最近在我的 Mac 上更新到 Big Sur,从那以后就无法以网页形式访问我的任何 VM。我已经使用 Homestead 的预期安装过程销毁并重建了此 VM。
- VirtualBox 6.1.28
- 来自发布分支的最新 Homestead 版本
- 流浪汉 2.2.18
This is the error I'm seeing
经过长时间的研究,人们似乎通过将网站添加到他们的主机文件来解决这个问题。确认我已将此添加到主机:
Error when viewing the URL without site in hosts
更新:如果我转到http://localhost:8000/,我可以查看虚拟机。转到 http://192.168.10.10 是行不通的。
使用 curl 192.168.10.10
从 vagrant 框中生成该页面的预期 HTML 输出。我的机器上的 curl localhost:8000
也是如此。如果我从我的机器上尝试 curl 192.168.10.10
,我会得到 curl: (55) getpeername() failed with errno 22: Invalid argument
.
我已经尝试了 Virtualbox 中的所有其他网络配置,并且使用 NAT 是唯一允许 SSH 连接的配置。似乎请求没有到达 VirtualBox.. 可能是因为有一个错误表明套接字未连接。
Socket stats seems to show it's listening on port 80
到目前为止,我已经再次破坏并重建了这个盒子,所以它已经接近任何人应该拥有的预期安装。
p.s。 “site.test”是实际名称的占位符。
这是我的Homestead.yaml:https://pastebin.com/qhPdWCNv
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Sites
to: /home/vagrant/code/
sites:
- map: site.test
to: /home/vagrant/code/site/public
php: "7.4"
databases:
- homestead
features:
- mysql: true
- mariadb: false
- postgresql: false
- ohmyzsh: false
- webdriver: false
services:
- enabled:
- "mysql"
# - disabled:
# - "postgresql@11-main"
#ports:
# - send: 33060 # MySQL/MariaDB
# to: 3306
# - send: 4040
# to: 4040
# - send: 54320 # PostgreSQL
# to: 5432
# - send: 8025 # Mailhog
# to: 8025
# - send: 9600
# to: 9600
# - send: 27017
# to: 27017
这是我的主机文件:https://pastebin.com/Y6Re15iy
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
192.168.10.10 site.test
::1 localhost
Vagrant 6.1.28 似乎限制了访客的有效 IP 地址。
我花了几个小时才弄明白,然后阅读手册。
通过将我的 Homestead.yaml ip 更改为 192.168.56.0 并更改 /etc/hosts
中的 ip 来解决
来自手册:
在 Linux、Mac OS X 和 Solaris Oracle VM VirtualBox 上,将仅允许将 192.68.56.0/21 范围内的 IP 地址分配给仅主机适配器。
对于遇到此问题的任何人,我通过将 VM 更新为新 IP、更改域并清除 dns 缓存 (dscacheutil –flushcache) 来解决此问题。
我最近在我的 Mac 上更新到 Big Sur,从那以后就无法以网页形式访问我的任何 VM。我已经使用 Homestead 的预期安装过程销毁并重建了此 VM。
- VirtualBox 6.1.28
- 来自发布分支的最新 Homestead 版本
- 流浪汉 2.2.18
This is the error I'm seeing
经过长时间的研究,人们似乎通过将网站添加到他们的主机文件来解决这个问题。确认我已将此添加到主机:
Error when viewing the URL without site in hosts
更新:如果我转到http://localhost:8000/,我可以查看虚拟机。转到 http://192.168.10.10 是行不通的。
使用 curl 192.168.10.10
从 vagrant 框中生成该页面的预期 HTML 输出。我的机器上的 curl localhost:8000
也是如此。如果我从我的机器上尝试 curl 192.168.10.10
,我会得到 curl: (55) getpeername() failed with errno 22: Invalid argument
.
我已经尝试了 Virtualbox 中的所有其他网络配置,并且使用 NAT 是唯一允许 SSH 连接的配置。似乎请求没有到达 VirtualBox.. 可能是因为有一个错误表明套接字未连接。
Socket stats seems to show it's listening on port 80
到目前为止,我已经再次破坏并重建了这个盒子,所以它已经接近任何人应该拥有的预期安装。
p.s。 “site.test”是实际名称的占位符。
这是我的Homestead.yaml:https://pastebin.com/qhPdWCNv
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Sites
to: /home/vagrant/code/
sites:
- map: site.test
to: /home/vagrant/code/site/public
php: "7.4"
databases:
- homestead
features:
- mysql: true
- mariadb: false
- postgresql: false
- ohmyzsh: false
- webdriver: false
services:
- enabled:
- "mysql"
# - disabled:
# - "postgresql@11-main"
#ports:
# - send: 33060 # MySQL/MariaDB
# to: 3306
# - send: 4040
# to: 4040
# - send: 54320 # PostgreSQL
# to: 5432
# - send: 8025 # Mailhog
# to: 8025
# - send: 9600
# to: 9600
# - send: 27017
# to: 27017
这是我的主机文件:https://pastebin.com/Y6Re15iy
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
192.168.10.10 site.test
::1 localhost
Vagrant 6.1.28 似乎限制了访客的有效 IP 地址。 我花了几个小时才弄明白,然后阅读手册。 通过将我的 Homestead.yaml ip 更改为 192.168.56.0 并更改 /etc/hosts
中的 ip 来解决来自手册: 在 Linux、Mac OS X 和 Solaris Oracle VM VirtualBox 上,将仅允许将 192.68.56.0/21 范围内的 IP 地址分配给仅主机适配器。
对于遇到此问题的任何人,我通过将 VM 更新为新 IP、更改域并清除 dns 缓存 (dscacheutil –flushcache) 来解决此问题。