Questions tagged «reverse-proxy»

反向代理是一种代理服务器,可以从一组特定的特定客户端服务器中获取资源。出于安全原因或由于缺少可用的公共IP地址而在不直接向Web服务器公开内容的情况下使用此方法。

2
我需要SSH的反向代理解决方案
您好,这是我在公司数据中心中有一个用于项目的服务器的情况。我可以通过端口22通过SSH访问此计算机。该服务器上运行着一些虚拟机,然后许多其他操作系统都在运行。现在,由于我位于数据中心防火墙的后面,我的主管问我是否可以做一些事情,从而使很多人可以直接通过Internet访问这些虚拟机。我知道如果允许我在22以外的端口上获取流量,那么我可以进行端口转发。但是由于不允许这样做,所以在这种情况下可以解决的办法。想要连接的人可能是完全白痴,谁可能只是通过在他们的机器上打开腻子而高兴,甚至可能是Filezilla。 我没有任何防火墙,也没有开放22端口以外的任何端口,实际上,即使我请求它们不允许开放。2倍SSH并不是我的主管想要的。

1
使用Real-IP时如何记录$ remote_addr的原始值
我的环境中的用户请求通过多个系统传递: [客户]-> [ELB] ---> [nginx]-> [网络] (ELB = AWS Elastic Load Balancer) 多亏了这个答案,我让nginx确定了正确的客户端IP地址并将其传递给带有X-Forwarded-For和X-Real_IP标头的上游服务器(网络)。相关的nginx配置: real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; real_ip_recursive on; proxy_set_header X-Real-IP $remote_addr; 我的问题是,nginx中的Real IP模块用$remote_addr其X-Forwarded-For计算结果替换了现有变量。这给了我原始的客户端IP,但是我丢失了实际上将请求发送到代理(即ELB)的系统的IP地址。 总的来说,拥有客户端IP对我来说更重要,但是我希望能够记录完整的请求链,以便我可以了解(并调试)流量的流向。目前,我只能让nginx记录客户端IP,它自己的IP和上游服务器IP。我也希望能够登录ELB IP。 我看到X-Istence在2013年问了同样的问题,运气不佳。从那以后有什么变化或改善?

2
即时修改nginx代理的数据
我有一个Nginx设置,可以接收来自外部主机的请求并将它们代理到内部服务器。 配置看起来像这样: server { listen 10.0.0.66:443; server_name my.example.com; root /websites/my.example.com ssl on; ssl_certificate /websites/ssl/my.example.com.crt; ssl_certificate /websites/ssl/my.example.com.key; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; location / { proxy_pass https://10.0.0.100:3000/; } } 出于实验/测试目的,我希望能够通过任意二进制文件运行内部主机答复的内容,并以二进制文件响应的内容进行响应。 对于例如,如果我想压缩HTML在代理我会贯穿htmlcompressor服务器的响应,然后发送输出作为代理的响应给客户端。最终结果将是最终客户获得缩小的html。 我知道nginx有各种各样的插件和示例来完成本地提供的数据,但是如何为代理设置它呢?

2
HAProxy切换到出现500个错误和/或服务器关闭时进行备份
我在只有2个后端服务器的前面设置了HAProxy,并进行了特殊配置:任何请求都应发送到服务器A;但是,如果服务器A返回5xx错误代码,则所有请求都应转到备份服务器B。当A返回“启动”时,所有请求都应转到A。 我正在尝试此配置: backend example_cluster balance roundrobin option httpclose option forwardfor option httpchk HEAD /ping.html HTTP/1.0\r\nHost:www.example.com http-check disable-on-404 default-server error-limit 1 on-error mark-down redirect scheme https if !{ ssl_fc } server node1 1.2.3.4:80 check observe layer7 server node_back 5.6.7.8:443 backup ssl verify none 但这不起作用有两个原因: 即使node1(A)已启动,所有请求也都路由到服务器node_back(B)。 似乎没有对服务器A执行任何httpcheck;或更好,在syslog中,我看不到有关服务器A关闭的任何错误。 如果删除“ option httpchk”行以及该行下面的两行;并且我还删除了服务器A中的“观察层7”;HAProxy通过将所有请求路由到节点A来工作。但是,显然,当服务器A返回500时,HAProxy不会切换到B。因此,我假设问题可能出在选项httpchk配置中。

5
哪些反向代理支持HTTP / 1.1 ETag和If-None-Match标头?
我正在为电子商务平台开发一个缓存系统,该系统将使用反向代理进行缓存。我计划通过使用正确的HTTP / 1.1标头来处理无效。也就是说,我将在第一代内容上设置一个ETag,并将该ETag值缓存在应用程序中。Cache-Control标头将指定“必须重新验证”,因此代理应在随后的带有ETag的请求上设置If-None-Match标头。应用程序将查找缓存的ETag值,如果匹配则将发送304响应,否则将生成完整的200响应。 我希望使用nginx,但我不能确定它是否支持ETags(文档表明它不支持ETags,但也许它们已经过时了?)。清漆是另一种选择,但我在这里也不满意。 哪些反向代理服务器完全支持ETag?我希望它实际上可以缓存多个版本,因此我可以执行拆分测试之类的事情而不必禁用缓存。也就是说,HTTP / 1.1指定客户端可以发送具有多个ETag值的If-None-Match,并且服务器应以匹配的ETag响应(如果有)。如果反向代理保留多个副本而不只是最后看到的值,并让服务器在每个要使用的请求上指定,那将是理想的。

1
ProxyPass整个域到Tomcat,包括root
我已经将VirtualHost example.com配置为将所有请求代理到Tomcat服务器 ProxyPass / http://localhost:8088/app ProxyPassReverse / http://localhost:8088/app 这工作得很好了像URL example.com/page,但对于example.com和example.com/我得到这个重定向响应,这显然会导致什么。 HTTP/1.1 302 Moved Temporarily Date: Wed, 06 Jul 2011 21:13:37 GMT Server: Apache-Coyote/1.1 <-- the redirect comes from tomcat Location: http://example.com/app/ <-- nonsense ... 我该如何解决?最好在Apache配置中。 我正在使用Apache 2和Tomcat 7

3
Apache反向代理访问控制
我有一个Apache反向代理,目前正在为一些站点进行反向代理。但是我现在将要添加一个只能由某些IP访问的新站点(我们称其为newsite.com)。使用Apache作为反向代理可以做到吗? 我将VirtualHosts用于要代理的站点。我尝试将Allow / Deny指令与Location语句结合使用。例如: <VirtualHost *:80> Servername newsite.com <Location http://newsite.com> Order Deny,Allow Deny from all Allow from x.x.x.x </Location> <IfModule rewrite_module> RewriteRule ^/$ http://newsite.internal.com [proxy] </IfModule> 我还尝试了在Proxy指令中为站点专门配置允许/拒绝,例如 <Proxy http://newsite.com/> Order deny,allow Deny from all Allow from x.x.x.x </Proxy> 对于其余的代理站点,我仍然有此定义。 <Proxy *> Order deny,allow Allow from all </Proxy> 无论我做什么,似乎都可以从任何地方访问它。这是因为所有其他代理站点的定义。是否有对其应用代理指令的命令。我在*一个之前和之后,以及在VirtualHost语句中都拥有一个newsite。

5
如何将Web服务器的DNS从一个IP地址平稳地迁移到另一个IP地址?
我目前在Linux / Apache服务器上注册了一个域名,该域名将用新IP地址上的另一个域名替换。 迁移数据将相对较快,在此过程中中断5分钟是可以接受的。 DNS记录的TTL显然为6到12个小时,我无法加快速度。 这种变化可能带来什么后果?假定仍在查看旧地址的用户将继续访问旧服务器,而dns缓存已过期或为空的用户将看到新域。 是否可以从旧服务器(使用Apache或iptables)到新IP进行某种重定向?旧服务器可以根据需要继续运行。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.