我得到了Haproxy LB,包含1个前端,1个后端和2000个以上的代理服务器。 Haproxy充当反向代理(网关),请求被传递给其中一个服务器。 我试图根据Haproxy主机名来制作一个粘性,但是是一个通配符。 例如:DNSlogging: A lb.example.com xxx.xxx.xxx.xxx A *.lb.example.com xxx.xxx.xxx 两个logging都是一样的Haproxy。 我想捕获通配符主机,并使用粘性表来匹配它。 例: session-1.lb.example.com -> server 1 session-2.lb.example.com -> server 2 主要的问题是我找不到捕获haproxy主机名的解决scheme,就像Apache / Nginx中的虚拟主机一样。 hdr(主机)表示请求的主机,而不是haproxy主机名。 任何想法如何捕获haproxy主机名? 它必须是dynamic的,新的虚拟主机 – 新的任务。 谢谢 :)
我正在探索Haproxy粘性,并试图find更多的解决scheme。 我最后的想法是根据传递给Haproxy的用户创build一个粘性。 前端: http-request set-header X-My-Session %[hdr(Proxy-Authorization),base64] 后端: http-request track-sc0 req.fhdr(X-My-Session) table st_tab stick on req.fhdr(X-My-Session) table st_tab stick match req.fhdr(X-My-Session) table st_tab 我做基于IP白名单的ACL,所以用户名是免费的。 此解决scheme正在工作,当我发送请求使用curl,但浏览器没有发送头是服务器没有请求身份validation。 要问auth我需要创build一个用户列表,并使用http-request auth ,这是我的问题。 我不想创build用户,我想只使用随机用户名粘性。 有一些方法来创build一个通配符用户,首选没有密码(但我可以住在密码)。
我正在尝试使用IIS反向代理和重写规则的组合来混淆第三方门户(我认为是用JBoss编写的)。 该门户在根和公共子部分有一个pipe理员login。 身份证“喜欢使用两个”公共“urlredirect/重写到公共方面的具体forms: some1.domain.edu→host1.xy.domain.edu:8080/form/public/previewform.do?formid=31&navigation=5&isPublicCategory=2&header=&ancestorL=0, some2.domain.edu→host1.xy.domain.edu:8080/form/public/previewform.do?formid=38&navigation=5&isPublicCategory=2&header=&ancestorL=0, 我是一个相对新手到IIS反向代理function和重写模块,所以帮助将非常感激。
我试图从名为X-TARGET-URL,其中包含目标URL的HTTP标头获取值。 然后转发该stream量到该url,但它不起作用。 RewriteEngine On RewriteCond "%{HTTP:X-TARGET-URL}" RewriteRule ^(.*)$ %{HTTP:X-TARGET-URL} [P] ProxyPassReverse "/" %{HTTP:X-TARGET-URL} 任何帮助,将不胜感激。
我没有看到有关如何解决这个问题的任何post,所以我试着问自己。 我运行在一个单独的虚拟机上的每个networking服务器,代理也在自己的虚拟机。 一切运行Ubuntu 17.04 所以让我们先弄清事情: 我设置了一个NginX代理服务器来为domain1.com和domain2.com服务。 除了有些内容在通过域连接时不会被加载/显示给客户端时,所有东西都可以工作。 它似乎不加载一些图像和/或CSS文件。 我认为它加载的唯一的事实上是HTML文件,但我不完全确定。 在内部IP一切工作就好了。 顺便说一句,即时只使用HTTP现在。 我对NginX的默认configuration是不变的,我的代理configuration如下(每个服务器块就是这样,键值明显改变): listen 80; server_name amco.hopto.org www.amco.hopto.org; access_log off; location / { proxy_pass "http://10.10.10.204"; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_connect_timeout 30s; } 那我该如何解决这个问题? 我真的想坚持NginX,因为我不想再次转身,并坚持学习这一点。 另外,请原谅,如果我不明白你的意思,如果它的advnaced的东西,因为即时通讯相当新的代理。 加载失败的一些例子是: amco.hopto.org amco-cloud.hopto.org 另外,加载时间不是最佳的,但那是另一回事。
我在Ubuntu服务器中有一个tomcat web应用程序。 Web应用程序被部署为ROOT 。 我已经安装了apache2并通过一个VirtualHost我指出的IP直接到tomcat的Web应用程序。 所以我可以直接通过IP(和域)访问网站,比如125.20.20.50或example.com 。 请检查以下文件,该文件是\etc\apache2\sites-enabled\的000-default.conf 。 <VirtualHost *:80> ProxyPreserveHost On # Servers to proxy the connection, or; # List of application servers: # Usage: # ProxyPass / http://[IP Addr.]:[port]/ # ProxyPassReverse / http://[IP Addr.]:[port]/ # Example: ProxyPass / http://0.0.0.0:8080/ ProxyPassReverse / http://0.0.0.0:8080/ ServerName portal.example.com </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /opt/apache-tomcat-7.0.79/webapps/ROOT/ ErrorLog […]
我想使用HAProxy作为反向代理,并从path中取回后端主机: http://haproxy/web1/index.html – > http://web1/static/index.html http://haproxy/web2/index.html – > http://web2/static/index.html … 后端服务器是dynamic的,不应该被硬编码。 我设法用nginx来实现,但是我无法用HAProxy实现同样的function。 server { listen 80; server_name localhost; location ~ ^/(.*)/(.*) { proxy_pass http://$1/static/$2; } } 用HAProxy做这个是不是一个好主意,还是应该坚持用NGINX?
nginx与HTTP上游协同工作,但是当我将proxy_pass更改为HTTPS时,几秒钟后失败,出现以下错误: root@websrv1:/etc/nginx/sites-enabled# nginx -t nginx: [emerg] host not found in upstream "backend" in /etc/nginx/sites- enabled/preprod-ssl.conf:30 nginx: configuration file /etc/nginx/nginx.conf test failed Nginxconfiguration: proxy_ssl_verify off; proxy_pass https://backend; proxy_ssl_trusted_certificate /etc/nginx/trusted-ssl/nginx.crt; } upstream backend { server IP:PORT; server IP:PORT; }
我目前正在开发一个服务器,例如Jenkins和sonartube。 我为这些应用程序创build了一个反向代理。 假设地址是Jenkins.example.com和sonar.example.com。 他们链接到一个实际的子域,这是指向我的外部IP地址。 我有一个PFSense路由器,我把端口80和443转发到代理服务器。 当我尝试从我的外部networking之外访问Jenkins.example.com时,它可以正常工作,没有任何问题。 当我尝试从内部networking到达域时出现问题。 页面将在开始加载,但点击几次后,它将停止工作,页面将不会加载了。 如果我在内部切换到专用IP,那么它工作的很好。 经过一些testing后,它似乎在Chrome上工作正常,但它不适用于Safari浏览器。 我似乎无法弄清楚是什么造成了这个问题,或者我怎么才能开始debugging呢。 有谁知道什么可能是错的? 我为我的代理服务器使用apache2。 奇怪的是,我有另一台服务器在不同的位置,完全相同的设置,并在那里一切工作得很好。
我需要将HTTPSstream从HAProxyredirect到Nginx,无需终止SSL,也不会丢失有关原始客户端IP的信息。 不幸的是,我不能在Nginx上更改默认443站点的configuration,因为它是由Synology NASconfiguration维护的。 我正在考虑Nginx上的新监听端口,它接受来自HAProxy的代理协议,以及不通过SSL解码/编码的本地443端口的内部redirect,而是传递来自HAProxy的原始客户端IP。 这是可能的吗? 编辑:后台是我在同一个外部443端口隧道OpenVPN和Web服务,所以实际上它看起来如下: router 443 TCP -> HAProxy -> SNI check -> stunnel -> OpenVPN | ——> SSL termination -> Nginx 443 HTTPS 我使用HAProxy,因为ngx_stream_ssl_preread_module在Synology内置的Nginx上不可用。 编辑:我认为情况和问题可以更通用: Nginx: port X accessed via proxy protocol with SSL/TLS port Y 如何使用源客户端IP的信息将端口X的stream传递给Y,而不使用SSL端点? 在端口Y上使用proxy_protocol的listen指令是唯一可能的选项吗?