Articles of 反向代理

在dns for domain.com指向别处时在domain.com/blog上提供博客

在一台机器上有一个博客(apache)(目前在blog.domain.com),我们想把它移到domain.com/blog。 dns for domain.com指向haproxy机器负载均衡几个nginx应用服务器。 托pipe博客的计算机不在该负载均衡器后面。 考虑到我完全控制了一切的configuration,最简单的方法是把它提交给我的意愿,并有从domain.com/blog提供的博客?

301redirect多个服务器和DNSlogging

目前我的博客是在blog.domain.com托pipe,并在LAMP堆栈上运行并运行wordpress。 这是我有blog.domain.com DNSlogging指向的地方。 我也有一个nginx服务器上的domain.com托pipe,并将运行我的电子商务应用程序(magento)。 domain.com在这里提供了一个logging点。 出于安全原因,我们将这两个应用程序都放在服务器上。 由于seo的原因,我想将博客移到domain.com/blog。 我所做的是用nginx设置一个反向代理作为apache / wordpress后端的前端caching。 所以这工作很好,我注意到caching实际上改善了我的加载时间。 现在我需要将所有的blog.domain.com请求redirect到domain.com/blog。 但是最好的办法是什么? 我应该将dnslogging的blog.domain.com更改为我的nginx服务器,然后让nginx处理重写/redirect? 或者我应该把重写在Apache服务器上? 我只能访问Apache服务器上的.htaccess文件。 我从来没有这样做过,所以我想问问社区什么是这样的情况下最好的办法。 谢谢

nginx反向代理不返回网站

设置 目前,我们有一个Apache2 web服务器充当我们web架构的负载平衡器。 后端是Xen虚拟机,可通过IPv6访问公共Internet,并通过IPv4访问我们的VPN。 问题是Apache 2负载均衡器的性能不如我们想要的那样,所以我们切换到nginx。 configuration 安装的nginx版本是1.3.10,它是用标准的Debian选项编译的。 我们必须去这个版本,因为它是唯一支持这些虚拟机需求的IPv6后端。 目前,nginx只有一个“虚拟主机”或服务器块,它是以下内容。 upstream backend-cookissime-prod { server cookissime-prod.cookissime1.vm.cob:80 max_fails=5; server cookissime-prod.cookissime2.vm.cob:80 max_fails=5; } server { listen 37.59.6.220:80; # listen [::]:80; server_name www.cookissime.fr; access_log /var/log/nginx/cookissime-prod.log; error_log /var/log/nginx/cookissime-prod.log; ## send request back to apache1 ## location / { proxy_pass http://backend-cookissime-prod; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; […]

如何将apacheconfiguration为查询string参数中指定的远程服务器的反向代理

问题: 我试图configurationapache作为一个反向代理,其中在查询string参数中指定删除服务器。 假设我正在mywebapp.com上提供一个站点。 如果你导航到http://mywebapp.com/proxy?url=http://www.someothersite.com ,那么Apache应该作为反向代理http://www.someothersite.com 。 同样,如果您导航到http://mywebapp.com/proxy?url=https://login.notmysite.com ,那么apache应该作为https://login.notmysite.com的反向代理。 注意事项: 1.在响应html中重写相关url以通过代理 2.重写来自远程服务器的redirect响应。 例如,如果用户请求mywebapp.com/proxy?url= https://login.notmysite.com ,并且远程服务器以https://login.notmysite.com/redirect,则用户的浏览器应该会看到redirect到mywebapp.com/proxy?url= https://login.notmysite.com/ 。 3.支持http和https 4.支持cookies 5.合理的安全。 我不想为世界上的任何人打开一个代理服务器,只能在mywebapp.com网站上的iframe中使用。 环境: 我使用Apache 2.2.24,但我可以升级,如果这将使问题更容易解决。 当前configuration: <VirtualHost 127.0.0.1:8081> ServerName www.mywebapp.com SSLProxyEngine On RewriteEngine on RewriteCond %{QUERY_STRING} ^url=(.*)$ RewriteRule ^/proxy – [E=url:%1] RewriteCond %{QUERY_STRING} ^url=(https?://[^:/]+)/? RewriteRule ^/proxy – [E=url_host:%1] RewriteCond %{QUERY_STRING} ^url=(.*)$ RewriteRule ^/proxy %1 [P] ProxyPassInterpolateEnv On […]

鱿鱼作为完全透明的反向代理

我有一些在我的服务器上运行的Web服务器,我希望他们都可以通过端口80访问。我设置鱿鱼作为反向代理,它工作正常。 然而,当请求被redirect到服务器时,我需要保持源IP地址。 否则,服务器会看到所有来自localhost的连接,这不是很好。 我知道有一个选项forwarded_for创build了X-Forwarded-For头,但它不是真正透明的,并不是每个服务器都支持它。

我应该如何使用代理服务器访问互联网 – 使用定制的Python插件进行请求处理?

我们正试图了解如何为我们的Web应用程序设置代理服务器。 我们需要几个进程通过内部networking中的代理服务器访问Internet。 理想情况下,我们可以在代理内部的某处运行自定义的Python代码 – 特别是在实际执行请求之前。 基于评论的澄清:我们不是试图只使用代理:我们想要在代理中运行自定义代码来跟踪请求 – 响应过程。 这可能是一个非常基本的/愚蠢的问题,但现在我知道我们应该使用代理,我正在努力了解它们是如何工作的,以及如何将它们应用到我们的基础架构中。 我们需要做一些事情,比如在获取请求的URL之前修改请求的URL,修改请求头和有效载荷,并且在获取有效载荷之后可能得到一些响应数据。 非常感谢! 任何有关这方面的信息将非常感激!

redirect之前的Apache反向代理

我试图设置redirect到特定的服务器名称上的https,但在重做之前,我希望它匹配一个位置path和反向代理到一个单独的服务器,而不是redirect到https URL。 下面是我认为它会工作,但似乎它做反向代理之前redirect。 显然,我的Apache技能是缺乏的。 也许,我需要两个独立的VirtualHosts? 任何帮助,将不胜感激。 <VirtualHost *:80> ServerName domain.com <Location /console> ProxyPass http://internal.server.com:8000/console ProxyPassReverse http://internal.server.com:8000/console </Location> <Location /> Redirect permanent / https://internal.server2.com </Location> </VirtualHost>

无法在端口转发时强制使用无密码ssh身份validation

我完全不知道什么是阻止我的本地机器validation从远程服务器转发的连接。 我已经阅读了这里关于这个和男人的很多post,我发誓我已经试过所有的东西。 我一直遵循的指南可以在这里find: http : //www.zeespencer.com/articles/building-a-remote-pairing-setup/ 基本上我坚持的地方是强制无密码authentication。 如果我在sshd_config中允许密码,当我连接到pair @ pair-server时,系统提示input我的本地用户密码,并且能够远程login,所以我正在被转发。 但是,一旦我把它关掉,我得到以下 λ ssh pair@pair-server Permission denied (publickey). Connection to pair-server closed. 详细输出在这里: https : //gist.github.com/anonymous/0c2b3892596d5ded6abb 我目前有我的本地用户key.pub在对@服务器的.ssh / authorized_keys这是命令ssh回到本地主机的命令。 pair @ pair-server有自己的密钥,在我的电脑上,我已经添加了pair @ server-key.pub到.ssh / authorized_keys。 sshd_config中看似相关的行: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys PermitEmptyPasswords no PasswordAuthentication no UseLogin no 在配对服务器上的/etc/pam.d/sshd设置account和session : account required pam_nologin.so account include […]

反向代理是否可以向另一个代理发出请求,并在响应内容中重写url?

我目前正在研究逆向代理,但没有具体的一个。 我正尝试通过身份validation通过Web上的另一个代理将反向代理的请求转发。 反向代理的主要原因是有用户重写的URL,当用户点击它,它将通过我的反向代理转发。 但是,它也需要通过一个真正的代理与身份validation。 所以基本上我试图实现的是,用户导航到一个站点,请求被反向代理捕获,反向代理然后通过另一个代理(通过代理validation)发出另一个请求。 当反向代理得到响应时,它会从响应中的内容中重写URL并将其传回给用户。 我的问题是,这是可能的吗? 如果是这样,我可以从哪里开始实施呢? 任何帮助表示赞赏,谢谢! 编辑:我find了一种方式来重写使用mod_replace mod代理中的url 。 但是还没有find通过另一个代理转发networking请求的方法

Apache反向代理到多个虚拟机

我已经全面了解我的问题的解决scheme,找不到它。 build立: 所以我有一台运行带有多个Web服务器的虚拟机的主机。 每个虚拟机(networking服务器)有2个networking适配器; 纳特(与端口转发8080至80和SSH)和主机只适配器。 每台主机只有适配器有它自己的networking适配器(所以每个虚拟机应该有它自己的外部IP)。在主机上使用Apache我有以下文件在站点可用(每个服务器一个): <VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off ServerName www.domain1.com ServerAlias domain1.com ProxyPass / http://192.168.58.1:8080/ ProxyPassReverse / http://192.168.58.1:8080/ </VirtualHost> 我们的想法是,主机系统上的apache会根据域名将请求redirect到托pipe该站点的正确的vm(然后让apache在该服务器上执行所需的操作)。 问题: 看来我所有的域名都指向同一个虚拟主机。 所以,不pipe我去哪个域,它都需要我完全相同的页面。 所以我想知道我做错了什么,以及如何使域指向正确的虚拟机? 它是否与服务器上的主机名configuration不正确? 如果是主机名问题,我应该如何设置主机名? 更新: 看来,Apache不是问题。 似乎所有主机只有IP指向同一个虚拟机。 所以我必须错过vms上的主机专用适配器的一些configuration,即使我确信每个虚拟机都有自己的configuration。 解决了: 见下面的答案。