首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用分配给我的机器的浮动IP地址访问web服务

无法使用分配给我的机器的浮动IP地址访问web服务
EN

Server Fault用户
提问于 2022-05-10 19:22:57
回答 2查看 225关注 0票数 0

我有一台机器,我为它分配了一个浮动IP地址。那台机器也是我的负载平衡器。我可以使用负载均衡器的IP地址轻松地访问我的服务。

但是,我无法使用分配给负载均衡器机器的浮动IP地址来访问它。

sudo nano /etc/haproxy.cfg

代码语言:javascript
复制
defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http

#HAProxy for web servers
frontend web-frontend
  bind IPADDRESSOFLOADBALANCER:80
  mode http
  default_backend web-backend

backend web-backend
  balance roundrobin
  server web-server1 IPADD1:80 check
  server web-server2 IPADD2:80 check
  server web-server3 IPADD3:80 check
  server web-server4 IPADD4:80 check

除了分配浮动IP地址之外,还有什么需要做的吗?我无法使用浮动IP地址访问服务。

EN

回答 2

Server Fault用户

发布于 2022-05-12 11:20:00

我不认为你可以,大多数人只是绑定到一个IP地址或他们全部。对于使用相同后端的每个前端,您都必须使用单独的前端。但是每个人都只使用*,这很好。

票数 1
EN

Server Fault用户

发布于 2022-05-12 11:33:33

我用Digtal海洋平台创造了我的液滴。将浮动IP从此页分配给它之后。

https://cloud.digitalocean.com/networking/floating_ips?i=0eb956

现在,我需要使用命令ip a获取液滴的私有IP

代码语言:javascript
复制
root@ubuntu-s-1vcpu-1gb-blr1-01:~# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:a0:A:B:C:D brd ff:ff:ff:ff:ff:ff
inet PUBLICIP/20 brd E.F.G.H scope global eth0
valid_lft forever preferred_lft forever
inet *PRIVATEIP(X.X.X.X)*/16 brd X.X.I.J scope global eth0
valid_lft forever preferred_lft forever
inet6 2400:6180:ZZ:ZZ::ZZ:ZZZZ/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::50a0:9fff:fe54:add2/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 9a:4b:a5:ZZ:ZZ:ZZ brd ff:ff:ff:ff:ff:ff
inet K.L.M.N/20 brd O.P.Q.R scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::984b:SSSS:TTTT:UUUU/64 scope link
valid_lft forever preferred_lft forever

我有个浮动IP说,

浮动IP通过eth0接口上的Anchor IP工作。我们可以使用相同的私有IP,因为通过浮动IP发送的任何通信都将仅发送到此私有IP,即inet *X.X.X.X*/16 brd

现在,我需要HAProxy绑定到HAProxy cfg文件中的这个私有IP。

sudo nano /etc/haproxy.cfg

代码语言:javascript
复制
#HAProxy for web servers
frontend web-frontend
  bind PRIVATEIP(X.X.X.X):80
  bind LOADBALNCERIP:80
  mode http
  default_backend web-backend

backend web-backend

  http-request set-header X-Forwarded-Proto https if { ssl_fc } # For Proto
  http-request add-header X-Real-Ip %[src] # Custom header with src IP
  option forwardfor # X-forwarded-for

  balance roundrobin
  server web-server1 IP1:80 check
  server web-server2 IP2:80 check
  server web-server3 IP3:80 check
  server web-server4 IP4:80 check

listen stats
bind PRIVATEIP(X.X.X.X):8080
bind LOADBALNCERIP:8080
mode http
option forwardfor
option httpclose
stats enable
stats show-legends
stats refresh 5s
stats uri /stats
stats realm Haproxy\ Statistics
stats auth root:password            #Login User and Password for the monitoring
stats admin if TRUE
default_backend web-backend
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1100601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档