Homestead ERR_SOCKET_NOT_CONNECTED Mac OS 更新后

Homestead ERR_SOCKET_NOT_CONNECTED After Mac OS Update

我最近在我的 Mac 上更新到 Big Sur,从那以后就无法以网页形式访问我的任何 VM。我已经使用 Homestead 的预期安装过程销毁并重建了此 VM。

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) 来解决此问题。