标签: haproxy

HA Proxy在10分钟后关闭TCP套接字?

我刚开始在我的应用程序前面试用HA代理进行热故障转移.我注意到从打开Web客户端到服务器大约10分钟后它正在关闭websocket.

如何禁用超时以保持websocket打开?我可以确认这两个盒子确实在整个时间内.谢谢.

haproxy

1
推荐指数
1
解决办法
3009
查看次数

我可以使用与HAProxy匹配的通配符SNI吗?

我正在寻找一个HAProxy匹配SNI通配符的例子,我的搜索提出了类似的标题,但无关的证书问题.

具体来说,我需要使用acme/letsencyrpt为dvsni路由nonce域.

frontend foo_ft_https
    mode tcp
    option tcplog
    bind 0.0.0.0:443

    acl foo_app_letsencrypt req.ssl_sni -i *.acme.invalid
    use_backend foo_bk_letsencrypt if foo_app_letsencrypt

    default_backend foo_bk_default

backend foo_bk_letsencrypt
    mode tcp
    option tcplog

    server foo_srv_letsencrypt 127.0.0.1:3443

backend foo_bk_default
    mode tcp
    option tcplog

    server foo_srv_default 127.0.0.1:8443
Run Code Online (Sandbox Code Playgroud)

注意:所有任意名称都以'foo_'为前缀,以便读者可以轻松地将它们与关键字,指令等区分开来.

wildcard-subdomain haproxy

1
推荐指数
1
解决办法
4457
查看次数

Tornado 未正确返回 HTTP 状态消息

我想向我的 Web 应用程序的用户显示错误。在处理请求时,我可能会提出HTTPError这样的问题:

raise tornado.web.HTTPError(403, reason="You're not authorised")
Run Code Online (Sandbox Code Playgroud)

在我的开发环境中运行它时,会产生如下响应状态:

403 You're not authorised
Run Code Online (Sandbox Code Playgroud)

但是当我在生产中运行它时,我得到:

403 Forbidden
Run Code Online (Sandbox Code Playgroud)

更改serve_tracebackdebug选项无济于事:在响应正文中返回回溯,但状态消息仍然只是“禁止”。

为什么它在生产中返回错误消息?

龙卷风 4.1

http tornado haproxy python-3.x

1
推荐指数
1
解决办法
714
查看次数

HAproxy:OPTIONS 和 POST 方法的 503 错误文件不同

我们有一个 Web 应用程序,使用 ajax 调用运行在不同域上的后端(-> 需要 CORS)。后端由HAproxy 1.4.22组成和多个 Wildfly(在 OpenShift PaaS 上运行)组成。如果没有 Wildfly 可用(例如,在“维护”期间),HAproxy 会为每个请求或配置的错误文件提供 503 服务。到目前为止,一切都很好...

对于 Web 应用程序来说,根据被拒绝的后端请求(带有 503)正确可视化“维护模式”是一个问题,因为浏览器首先发送一个 OPTIONS 请求(预检)并已收到 503。这最终导致浏览器不会将此状态代码反映到 JavaScript 中执行的 ajax 调用(我们总是得到状态代码 0 作为响应,因为浏览器将其解释为预检的致命失败并拒绝任何访问)。这个故事并不新鲜,在 stackoverflow 上有很多帖子。

那么如何解决这个问题呢?我的想法是提供两个不同的错误文件(HAproxy 语言中的“错误文件”) - 一个提供内容为“HTTP/1.1 200 OK.... Access-Control-Allow-Origin: *....”的 OPTIONS 请求以传递在浏览器中进行预检,然后一个错误文件为 POST 请求提供内容“HTTP/1.1 503 .....”,让浏览器在 ajax 响应中真正反映状态 503。但是,我无法运行它。

global
    maxconn     256

defaults
    mode                    http
    log                     global
    option                  httplog
    ...

listen express 127.4.184.2:8080
    acl is_options method OPTIONS
    acl is_post method POST

    errorfile 503 /var/lib/openshift/564468c90c1e66c7f2000077/app-root/runtime/repo/503.http if is_post …
Run Code Online (Sandbox Code Playgroud)

javascript ajax haproxy cors

1
推荐指数
1
解决办法
4990
查看次数

基于 http 状态的 HaProxy 故障转移

遇到特定的 http 状态代码时是否可以进行 HaProxy 故障转移?

如果 tomcat 服务器本身停止/失败,我有以下通用 haproxy 代码可以正常工作。但是,当从 tomcat 中也遇到http 状态代码502 Bad Gateway500 Internal Server Error时,我想进行故障转移。即使在任何节点中遇到 500、404 状态代码,以下配置仍将继续发送流量。

backend db01_replication
  mode http
  bind 192.168.0.1:80
  server app1 10.0.0.19:8080 check inter 10s rise 2 fall 2
  server app2 10.0.0.11:8080 check inter 10s rise 2 fall 2
  server app3 10.0.0.13:8080 check inter 10s rise 2 fall 2
Run Code Online (Sandbox Code Playgroud)

提前致谢

load-balancing haproxy

1
推荐指数
1
解决办法
3606
查看次数

Haproxy-将请求转发到S3托管站点

我对haproxy的了解极少。在测试配置

S3托管网站(路由53别名)
-content.mydomain.com URL登陆haproxy-www.mydomain.com/getfiles/

是否可以将重新路由www.mydomain.com/getfiles/重定向到content.mydomain.com(s3托管网站)。

我能够使用下面提到的配置将其重定向到在同一服务器上运行的另一个应用程序

  acl display-s3-content path_beg /getfiles/
  use_backend my-content if display-s3-content

backend my-content   
  reqrep ^([^\ ]*)\ (.*) \1\ /path/\2   
  server test www.mycomain.com:1936
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将其重定向到s3托管站点时,它不起作用。以下是无法正常使用的配置的后端

  reqrep ^([^\ ]*)\ (.*) \1\ /path/\2
  server test1 content.mydomain.com
Run Code Online (Sandbox Code Playgroud)

谢谢!

amazon-s3 haproxy

1
推荐指数
1
解决办法
2112
查看次数

将路径附加到主机 HAPROXY

我是 haproxy 的新手(实际上通常是代理),我不知道如何向我的后端添加路径。我的后端定义为:

服务器 server1 ns.foo.com:7170 检查

我想添加 /web 以便将请求定向到https://ns.foo.com:7170/web

谢谢,马克

proxy haproxy

1
推荐指数
1
解决办法
9027
查看次数

多个域的HAProxy动态SSL配置

我在两个VPS中有类似100个类似网站的东西.我想使用HAProxy动态切换流量,但同时我想添加SSL证书.

我想使用添加变量来为每个网站调用特定证书.例如:

frontend web-https 
    bind 0.0.0.0:443 ssl crt /etc/ssl/certs/{{domain}}.pem 
    reqadd X-Forwarded-Proto:\ https 
    rspadd Strict-Transport-Security:\ max-age=31536000 
    default_backend website
Run Code Online (Sandbox Code Playgroud)

我还想检查SSL证书是否真的可用,如果它不可用,请切换到带有重定向的HTTP.

这可能与HAProxy有关吗?

ssl haproxy

1
推荐指数
1
解决办法
4650
查看次数

服务发现的领事和HA代理-我应该使用哪个?

我知道Consul是微服务时代的服务发现工具。但是在领事之前,发明了HA Proxy。那么,为什么我们需要Consul进行服务发现,或者Consul比HA Proxy更强大?Consul和HA Proxy之间有什么比较?请给我一些建议,我应该使用还是可以同时使用它们。

haproxy consul

1
推荐指数
1
解决办法
1411
查看次数

增加HAProxy的上传限制

使用 HAProxy 时,出现错误 413: Request Entity Too Large

当我尝试上传一些太大的文件时会发生此错误,但是我找不到有关如何增加此限制的任何文档。

如何将最大上传限制增加到指定的 MB 数量?

haproxy

1
推荐指数
1
解决办法
9222
查看次数