我有 2 个不同的 tomcat 服务器: T1 , T2
我的客户引用我的负载均衡器正在提供名为“性别”的 url 参数(0 - 男性用户,1 - 女性用户)。只有 url 参数在男性和女性呼叫之间不同。
我想根据性别参数将 haproxy 平衡到 T1、T2。(男性将被重定向到 T1,女性将被重定向到 T2)
我怎样才能做到这一点?
谢谢
我有 2 个实例组和每个 HTTP 负载均衡器。实例组包含在带有 IIS 的 Windows Server 2012 上运行的 VM。
当我使用负载均衡器的 IP 从一个实例组向另一个实例组发送来自 VM 的 POST 请求时,我收到 502 错误而不是响应。
此外,有时我在发送 GET 请求时会收到此错误。
当我直接向 VM 发送请求时,一切正常。
原因是什么以及如何修复负载均衡器的错误响应?
谢谢!
iis load-balancing windows-server-2012-r2 google-cloud-platform
基本上我有一个 API 农场
192.168.1.1、192.168.1.2、192.168.1.3
但是,端点具有不同的文件夹结构(我无法修改的第 3 方!)
所以基本上我想要一个像这样的 nginx 配置
upsteam api_servers{
server 192.168.1.1/api/;
server 192.168.1.2/myApp/api/;
server 192.168.1.3/;
}
server{
listen 80;
location / {
proxy_pass http://api_servers;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,您不能在上游服务器中拥有路径。我想我必须重写这些?我知道如何为传入的请求重写它,但不确定当它到达每个后端服务器时如何以不同的方式重写它。
提前谢谢了!!
当我在 Ubuntu 服务器上配置 ha-proxy 的代理服务器时,我忘记在haproxy.cnf 文件中选择一个平衡选项 ,但是窃取工作正常,有人知道正在运行什么算法吗?
我尝试按照以下教程进行操作:https : //cloud.google.com/container-engine/docs/tutorials/http-balancer
一切似乎都在进行,直到最后做
kubectl describe ingress basic-ingress
返回
Name: basic-ingress
Namespace: default
Address: {hidden_external_ip}
Default backend: nginx:80 ({hidden_internal_ip}:80)
Rules:
Host Path Backends
---- ---- --------
* * nginx:80 ({hidden_internal_ip}:80)
Annotations:
backends: {"k8s-be-00000--0000000000000000":"Unknown"}
forwarding-rule: k8s-fw-default-basic-ingress--0000000000000000
target-proxy: k8s-tp-default-basic-ingress--0000000000000000
url-map: k8s-um-default-basic-ingress--0000000000000000
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -- ------ ------ -------
1m 1m 1 {loadbalancer-controller } Normal ADD default/basic-ingress
23s 23s 1 {loadbalancer-controller } Normal CREATE ip: {hidden_external_ip}
Run Code Online (Sandbox Code Playgroud)
请注意,后端行以“unknown”结尾
此外,卷曲外部 IP 会返回以下内容:
<html><head> …Run Code Online (Sandbox Code Playgroud) 我可能已经迷失在关于这个主题的大量文档中,但我正在尝试配置我的 HAProxy 进程以发送代理协议标头,如http://www.haproxy.org/download/1.8/doc/ 所述代理协议.txt。这是因为我必须将 PROXY 协议的支持写入 C++ 服务器(以便它能够访问客户端 IP/端口),并且我想测试我的代码在解析 PROXY 标头时是否正常工作。
这是我的最小配置文件:
global
maxconn 4096
defaults
log global
mode http
retries 3
option redispatch
maxconn 2000
timeout connect 5000
timeout client 50000
timeout server 50000
frontend TestServerTest
bind 10.6.186.24:54781
mode tcp
default_backend TestServernodes
backend TestServernodes
mode tcp
# Note there is no 'check' after the below line unlike the others as we don't want to send the
# healthcheck ("OPTIONS / HTTP/1.0"...) string to the TestServer as it …Run Code Online (Sandbox Code Playgroud) 我目前收到大量流量(每天 1+ 百万页浏览量)。我在 Digital Ocean 的负载均衡器后面设置了四个 16GB RAM 8 CPU nginx 服务器(这是他们添加的新功能)。当我通过 IP 直接访问每个服务器时,站点加载速度很快。但是,如果我去域名,似乎有1-3秒的延迟。这是负载平衡器工作不正常吗?还是这是域名问题?请注意,我使用的是循环和粘性会话。关于我的域名设置,这里有什么我需要检查的吗?
我很想用我的 GKE 集群设置 HSTS,因为现在 HTTP 请求在设置后返回一个谷歌损坏的机器人 404 页面ingress.yml annotations:
kubernetes.io/ingress.allow-http: "false"
显然在ingress.yml(即hsts-max-age和hsts-include-subdomains)中有这个选项,但据我所知 GKE 不支持它:https : //github.com/kubernetes/ingress/blob/7c749ede0a2d88f289279d61d04005e22f002104/docs/annotations-related.md
我真的很想避免使用和维护自定义 Nginx 负载均衡器并避免失去 Google 的扩展能力,坚持使用默认的负载均衡器将是一个强烈的要求。我还想避免让 HTTP 请求通过并处理我的应用程序中的重定向和 HSTS 标头。
如果 HSTS 不可能,我可以接受一个很好的重定向设置。
非常感谢!
https load-balancing kubernetes google-kubernetes-engine hsts
我正在设置一个使用 NGINX 作为负载均衡器的服务器集群。所有请求都通过 HTTPS,因此负载均衡器使用流(SSL 直通)将请求直接传递到集群。
我需要终端服务器查看客户端 IP 而不是负载均衡器 IP。
我的 nginx.conf
## Misc other config stuff
stream {
map $ssl_preread_server_name $backend_cluster_map {
site.a cluster_1;
site.b cluster_2;
default cluster_1;
}
upstream cluster_1 {
server 10.0.0.202:443;
server 10.0.0.203:443;
}
upstream cluster_2 {
server 10.0.0.204:443;
server 10.0.0.205:443;
}
server {
listen 443;
proxy_pass $backend_cluster_map;
ssl_preread on;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试更改服务器块以包含proxy_set_header转发 IP,但没有通过 nginx 测试,说明proxy_set_header directive is not allowed here.
server {
listen 443;
proxy_protocol on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Terraform v0.11.0 创建 na NLB(我的应用程序不使用 HTTP,所以我不能使用 ALB)。查看 Hashcorp 文档,我可以创建以下代码:
resource "aws_lb" "lb" {
name = "test"
internal = false
enable_deletion_protection = true
load_balancer_type = "network"
ip_address_type = "ipv4"
subnet_mapping {
subnet_id = "${data.aws_subnet.sn-app-1.id}"
allocation_id = "${aws_eip.eip-1.id}"
}
subnet_mapping {
subnet_id = "${data.aws_subnet.sn-app-2.id}"
allocation_id = "${aws_eip.eip-2.id}"
}
}
resource "aws_lb_target_group" "lbtg" {
name = "test"
port = "8080"
protocol = "TCP"
vpc_id = "${data.aws_vpc.vpc.id}"
deregistration_delay = "300"
health_check {
interval = "300"
port = "8080"
protocol = "TCP"
timeout = …Run Code Online (Sandbox Code Playgroud) load-balancing ×10
haproxy ×3
nginx ×3
kubernetes ×2
hsts ×1
https ×1
iis ×1
php-fpm ×1
proxy ×1
ssl ×1
terraform ×1
ubuntu ×1
url-routing ×1