504 尝试登录 laravel 项目时网关超时



我有一个 laravel v5.2 项目,我的 pc 环境是 ubnuntu(主机)

该项目在虚拟机上,虚拟机配置如下:

有一个 haproxy 来加载两个 relplica 集,它们也是 ubuntu vm。

项目在我的 PC 主目录上,我已经通过这个副本集共享了它。 每个请求都转到 haproxy,然后它将对这两个副本集的请求进行负载均衡。

Haproxy 网络配置是网络中其他用户可以访问的网桥(静态 IP)。

这两个副本集网络配置是 NAT,仅用于与 haproxy 通信。

使用此配置我没有问题,但是在我更改了PC的互联网连接后,我无法再登录我的项目,同时我更新了所有IP地址和配置,当我尝试登录到我的项目时,我得到:

504 Gateway Time-out
The server didn't respond in time.

奇怪的部分是当我尝试使用手动创建的令牌访问例如用户信息时:没有问题,我可以获取用户信息数据或任何其他路由数据。

问题只是登录,注册路由。 当我使用以前的互联网连接时,我没有这个问题。

我在下面描述我的虚拟机和网络配置:

我的电脑(主机)网络配置:

source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eno1
iface eno1 inet static
address 192.168.30.245
netmask 255.255.255.0
network 192.168.30.0
gateway 192.168.30.1
dns-nameservers 8.8.8.8

我的电脑(主机)/etc/主机 :

192.168.30.236  api.project.local

HAproxy 虚拟机网络:

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.30.236
netmask 255.255.255.0
network 192.168.30.0
broadcast 192.168.30.255
gateway 192.168.30.1
auto eth1
iface eth1 inet static
address 192.168.100.113
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 10.0.2.15

副本集 A 网络:

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.100.110
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 10.0.2.15

副本集 B 网络:

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.100.110
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 10.0.2.15

Mysql 和 mongodb 服务器在我的本地 pc(主机)上,它的 ip 是:192.168.30.245

正如我所说,从其他routesartisan tinker连接到mysql或mongodb服务器没有问题

我已经设法解决了这个问题,问题是由于我的网络更改和网关更改

。对于具有这种网络配置的任何人,他们应该知道,如果您有负载均衡器和两对副本集,则必须为所有副本集定义相同的网关,它可以是调制解调器或路由器,以便能够解析每个服务器和操作系统以及MySQL和MongoDB引擎。

如果您注意到我已经为所有这些服务器定义了相同的网关,但由于它是从ISP直接无线的,并且从ISP启用了DHCP,因此该服务器无法相互解析,因为它们将通过NAT它也在ISP端。

最新更新