我遇到了一个问题,我正在为我的负载均衡器运行健康检查,健康检查使用 HTTP、HTTPS 或 HTTP/2 协议,每个协议都需要 HTTP 200(OK)响应代码
我运行了以下命令 https://我的 IP:443 并且似乎没有服务器回复该信息,因此似乎缺少一些我无法指出的配置
这是我运行 sudo netstat -plnt 得到的响应
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 775/sshd
tcp6 0 0 :::80 :::* LISTEN 761/apache2
tcp6 0 0 :::22 :::* LISTEN 775/sshd
tcp6 0 0 :::443 :::* LISTEN 761/apache2
这是我运行 sudo ss -plnt 得到的响应
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
users:(("sshd",pid=775,fd=3))
LISTEN 0 128 :::80 :::*
users:(("apache2",pid=832,fd=4),("apache2",pid=831,fd=4),("apache2",pid=830,fd=4),("apache2",pid=829,fd=4),("apache2",pid=828,fd=4),("apache2",pid=827,fd=4),("apache2",pid=761,fd=4))
LISTEN 0 128 :::22 :::*
users:(("sshd",pid=775,fd=4))
LISTEN 0 128 :::443 :::*
users:(("apache2",pid=832,fd=6),("apache2",pid=831,fd=6),("apache2",pid=830,fd=6),("apache2",pid=829,fd=6),("apache2",pid=828,fd=6),("apache2",pid=827,fd=6),("apache2",pid=761,fd=6))
答案1
为了实现此功能,应配置网络标签以及相应的 HTTP 和健康检查防火墙规则。
=> GCP 控制台 => 导航 => 网络 => VPC 网络 => 防火墙规则。注意现有的规则。也许缺少必要的规则。
1.提供网络标签用于后端服务器。通常在创建模板 VM 映像时设置这些。尽管也可以相应地修改现有实例。
=> GCP Console => Navigation => Compute Engine => VM instances
=> Create (or Edit)
...
Management, security, disks, networking, sole tenancy =>
Networking =>
Network tags = http-server
2.创建规则以允许HTTP 流量到后端。
=> GCP Console => Navigation => Networking => VPC network => Firewall rules
=> Create Firewall Rule
Name = default-allow-http
Network = default
Targets = Specified target tags
Target tags = http-server
Source filter = IP Ranges
Source IP ranges = 0.0.0.0/0 # from all networks
Protocols and ports = Specified protocols and ports
tcp = On, port 80
=> Create
3.创建健康检查规则。健康检查确定平衡器的哪些实例可以接收新连接。对于 HTTP 负载平衡,对 LB 实例的健康检查探测来自范围130.211.0.0/22
和35.191.0.0/16
。
=> GCP Console => Navigation => Networking => VPC network => Firewall rules
=> Create Firewall Rule
Name = default-allow-health-check
Network = default
Targets = Specified target tags
Target tags = http-server
Source filter = IP Ranges
Source IP ranges = 130.211.0.0/22 35.191.0.0/16
Protocols and ports = Specified protocols and ports
tcp = On, port all # all TCP ports, port=all is optional
=> Create
=> GCP 控制台 => 导航 => 网络 => VPC 网络 => 防火墙规则。注意新创建的规则。