Articles of 反向代理

多个域,一个IP,多个服务器

好的,这里是… 我的networking上有几个设备/计算机/服务器,提供诸如网页(通过Apache和IIS ), RDP , Subversion , DVBLink等服务。其中两个是Synology盒,一个是Mac Mini,运行双启动Windows Server 2012和Mac OS ,一个是Windows 7安装。 所以涉及到几个平台。 目前,只有一个域指向我的networking,但是,我有其他域可以使用。 在过去,当我想请求来自networking上的不同Web服务器的页面时,我已经请求了不同的端口,例如81,8080等,但是这不是我想要做的,因为这些URL不是特别有用的公开。 我设法在其中一个Apache服务器上设置代理/反向代理,redirect不同的请求,例如,使用子域名到其他物理服务器,然而,这只是为了提供http内容,并用mod_proxy完成等等。由于HTML中的引用错误,我需要重写HTML 。 我真正想要的是服务于networking上的所有不同types的服务,使用域名或子域转发到不同的服务器。 最重要的是HTTP和RDP ,我想,如果做得正确,服务的内容并不重要。 总之,我希望它是透明的,我只有一个外部IP来访问我的networking,并仍然能够从networking上的所有框到内部提供内容。 这能做到吗? 该计划是尝试使用Windows Server 2012在Mac Mini上运行 ,使用DNS来完成此操作,但这是我遇到麻烦的地方。 我不完全确定我在这个阶段做了什么。 我试图在DNSpipe理器中设置一个有条件的转发,从域映射到内部IP。 不幸的是,这似乎并不奏效。 我试图打开路由器中的默认DMZ ,因为我被告知这可能会剥夺数据包的域名。 我也无法做这个工作。 能不能完成,我在正确的轨道上? 如果您能指出正确的方向,并且如果您有一些关于如何configurationWindows Server来完成此操作的好的和有用的资源,我将非常感激。

反向代理服务器SSL?

上下文 我们目前在DMZ中有一个Apache Web服务器,它被设置为一个反向代理,负载均衡器用于运行Windows Server 2008(IIS)的两台机器。 Apache服务器有一个真正的SSL证书,并提供http和https,但负载平衡部分的平衡器成员设置为:BalancerMember { https:// server1 }和 { https:// server2 }。 IIS Web服务器具有自签名证书以响应https请求。 我的问题:我们是否需要使用SSL将任何请求从Apache(在DMZ中)转发到内部? 例如,反向代理可以使用HTTP转发请求吗? 如果是这样,为什么我会select使用SSL转发它们? (dmz和内部之间的http线路有多安全); 换句话说,我可以在我的内部Web服务器上完全禁用SSL吗?

链接翻译在Apache反向代理

是否有可能在Apache Rever链接翻译? 我们希望将我们的ISA 2006 web服务迁移到具有反向代理的Apache,但ISA使用的链接转换不是mod_proxy中的一个选项

当没有提供尾部斜线时,nginxredirect(不是代理)到apache后端

当我访问http://example.com/folder ,我的浏览器redirect到example.com:8080 。 但是,当我访问http://example.com/folder/时,它工作正常。 后端是一个监听端口8080的apache服务器。 nginxconfiguration: server { listen 80 default_server; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; proxy_redirect default; } } 我试过了: … proxy_pass http://127.0.0.1:8080/; …. 还是一样的问题。 我已经看过类似的问题,但似乎无法得到这个答案。 有人有主意吗?

离线反向代理与Nginx

我正在使用Nginx反向代理来访问在线drupal服务器上的内容。 事实是,如果Nginx失去他的互联网连接,当我试图通过反向代理调用服务器,我希望他给我回一个错误代码,说他没有设法连接远程服务器,超时,但是我唯一回来的是302代码,所以不能使用proxy_intercept_errors进行捕获。 我想要的是:如果Ngnix由于任何原因(404,50x,根本没有互联网)无法访问服务器,我希望他给我一个很好的,特定的错误页面(如果错误代码400或更高,但如果Nginx不能访问互联网)。 我使用的conf是: # Reverse proxy for remote hosts # regex capture, $1 is hostname $2 is the rest of the URI location ~* /reverseproxy/([^/]*)(.*) { $$$RESOLVER_DNS_ADRESSES_TOKEN$$$ proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering off; proxy_set_header Host $1; proxy_cache_bypass 1; proxy_no_cache 1; proxy_intercept_errors on; # Tranform custom X-Cookie into regular […]

使用Apache ProxyPass将新站点上的URL转发到旧Web服务器

我们目前正在将我们的网站迁移到CMS,并且正在转移到另一台服务器。 旧服务器上有一些代码,我们不想移动到新的服务器上。 我们希望url是相同的,所以我们一直在看(现在正在使用)ProxyPass。 旧服务器实际上是将URL重新映射到公共和内部内容。 旧服务器上的<Proxy>指令仍然被注释掉,并且工作正常。 我已经尝试将以下几个地方放在一个虚拟主机指令之内,在它之外等,我没有错误启动apache,但它永远不会工作。 ProxyRequests On Order allow,deny Allow from all ProxyVia On ProxyPreserveHost On ProxyPass /tester/ http://oldserver.companyname.com/app1/ ProxyPassReverse /tester/ http://oldserver.companyname.com/app1/ 我已经尝试过几个例子,比这更简单了,等等。 Apache似乎忽略了tester ,并将其发送到CMS,然后返回404。我们希望testing人员掩盖旧的URL,这是我们目前在其他计算机上执行的操作。 这个特定的虚拟主机确实有一些重写规则,我也试过在之前或之后放置这些规则。 这些模块在httpd.conf中被加载。 目前运行的Apache 2.2。 现在 – 没有任何反应。 没有错误,没有日志(我看到)等等。这就像规则实际上并不存在。 有一件事我注意到了 – 它在我们的其他虚拟主机指令中工作正常。 唯一的区别是另一个是小得多,并不包含一些重写Wordpress的规则。 这里是我的VirtualHost的一个例子 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/wordpress ServerName wptest ServerAlias wptest.site.com.local ErrorLog /var/log/httpd/wordpress-error-log CustomLog /var/log/httpd/wordpress-access-log common ProxyPass […]

清漆:排除页面的一部分

有什么办法从caching中排除一些网页部分? 例如,我在我的主页上添加了最近添加的内容,每15分钟刷新一次。 我知道有ESI的特点,但不知道我是否正确的方向。 如果是的话有没有例子如何实现呢? 我发现了三篇有关ESI的文章 边缘包括整合 在您的应用程序中控制清漆ESI 边缘在10分钟内包括清漆

Apache反向代理通过mod_proxy_ajp不会将请求路由到Tomcat

我有两个Apache和Tomcat7实例安装。 一个在我的MacBook Pro与Mountain Lion和另一个在Ubuntu的12.10的Mac上的VirtualBox虚拟机。 两者都具有相同的VirtualHostconfiguration和server.xmlconfiguration。 一切工作正常在我的Mac,但在Ubuntu虚拟机我得到“文件不存在”的错误。 当我将LogLevel设置为“debugging”时,两个日志输出看起来几乎是一样的。 有什么地方我可以看看为什么这些请求没有被代理到Tomcat? 这是我的configuration文件。 server.xml中: <?xml version='1.0' encoding='utf-8'?> <!– Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 […]

Nginx反向代理,满足任何导致所有客户端被允许

我有一个问题, satisfy any server或location块导致所有客户端被允许访问,这不是预期的行为。 server { listen 80; server_name raar.my.domain; satisfy any; allow 192.168.1.0/24; deny all; auth_basic "Private"; auth_basic_user_file /etc/nginx/conf.d/avs.creds; location / { proxy_pass http://192.168.1.13:8085; } } 在这种状态下,我可以从外部主机发出请求,并将请求传递给代理。 如果我改变any ,那么它实际上开始调用访问机制。 这是因为在/etc/nginx其他任何地方都不会出现allow和deny关键字,所以我不知道其他访问处理程序甚至可以存在以satisfy any 。 debugging日志什么都没显示 -V: nginx -V nginx version: nginx/1.2.7 TLS SNI support enabled configure arguments: –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp […]

Apache反向代理:我应该看到服务器的名称,我redirect到浏览器中?

这可能是我的期望是不正确的,但我认为configuration一个Apache的实例作为反向代理后,我会看到以下行为: 我打到运行反向代理规则的server1:9089将请求转发到Server8:80 我的请求被redirect到服务内容的Server8:80 我的浏览器应该告诉我,我仍然“坐在”server1:80,而不是Server8:80 我没有看到这个 redirect后,我被导向的机器的主机名显示在浏览器的地址栏中。 (并且在redirect期间在浏览器的状态栏中可见) 我认为反向代理的“好处”的一部分是它隐藏了从用户那里负担繁重(Server8,在这种情况下)的机器/机器? 这是什么(我认为)是我的httpd.conf的相关部分: # # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn't have a registered DNS name, […]