Articles of mod proxy

代理传递域从默认的apache端口80到另一个端口上的nginx

我仍然在学习服务器的东西,所以希望标题足够描述。 基本上我有sub.domain.com,我想运行在端口8090的nginx。 我想单独离开apache,让它捕获端口80上的所有默认stream量。 所以我想用虚拟名称主机代理传递给sub.domain.com:8090,没有工作,不知道什么是正确的语法可能是。 有任何想法吗? 我发现的大部分是通过从Apache nginx,但我想做的相反。 LoadModule proxy_module modules / mod_proxy.so LoadModule proxy_http_module modules / mod_proxy_http.so <VirtualHost sub.domain.com:80> ProxyPreserveHost打开 ProxyRequestclosures ServerName sub.domain.com DocumentRoot / home / app / public ServerAlias sub.domain.com proxyPass / http://appname:8090/ (also tried localhost and sub.domain.com) ProxyPassReverse / http://appname:8090/ </VirtualHost> 当我这样做,我得到 [警告]模块proxy_module已经加载,skippin [warn]模块proxy_http_module已经加载,跳过 [错误](EAI 2)名称或服务未知:无法parsing主机名sub.domain.com – 忽略! 是的,该应用程序正在工作(我有它运行在另一个子域的端口80),它在sub.domain.com:8090

用mod_proxy查看对真实服务器的请求

我的设置涉及使用mod_cache和mod_proxy的Apache来代理和caching我的iOS应用程序和Web服务之间的XML数据。 现在我正在使用awstats来查看我的iOS应用程序向我的代理服务器发出了多less请求。 有什么方法可以查看实际对Web服务的服务器进行的请求的统计信息(或者只是一些数字)? 以下是服务器设置的清晰图示: iOS应用程序<—–>我的caching代理服务器<—–> Web服务 请注意,除了与Web服务交互以外,我无法访问Web服务的服务器。

使用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 […]

Apache ProxyPass虚拟主机

我正在尝试做一个类似的设置,以在这个较旧的线程讨论。 我已经启用了proxy_module,proxy_connect_module,proxy_http_module和rewrite_module。 它的工作,但现在当我去domain.com它把我带到ipcamera。 我尝试添加另一个虚拟主机与ServerName domain.com指向本地主机,但这只是使页面挂起。 <VirtualHost *:80> ServerName ipcam.domain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyErrorOverride On ProxyPass / http://192.168.1.123/ ProxyPassReverse / http://192.168.1.123/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost> <VirtualHost *:80> ServerName domain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyErrorOverride On ProxyPass / http://localhost/ […]

nginx反向代理,ssl卸载,caching和pagespeed在一个。

我们目前在Windows IIS 7服务器上托pipe所有东西。 我们只是搬到了Azure,就像托pipeWindows的许多云比托pipeLinux一样昂贵。 对于虚拟机(与AWS相比),Azure有自己的限制,因为您只能将一个公有IP地址绑定到Web服务。 为了克服这个限制,并build立一些故障切换和cachingfunction,我们将NginX视为负载均衡器,将逆向代理放在我们的IIS服务器前面。 最近我们了解到Google的Pagspeed for Apache也适用于NginX。 基于在线教程和我们的一点经验,我们可以通过使用3个独立的Nginx服务器层(见下面)来获得NginX的所有好处。 我的问题是,如何才能在一个虚拟主机上完成? 这里是我们现在可以设置的一个例子: Nginx1 – 这个服务器位于Nginx2的前端,并执行SSL卸载并将静态内容caching到正在运行的Linux服务器上。 它会将静态资源caching到磁盘和内存。 NginX2 – 这个Nginx服务器位于Nginx3之前,包括Nginx的Google Mod Pagespeed。 这个服务器的目标是分配和合并脚本并优化图像。 由于这些操作可能很昂贵,所以我们把NginX1放在这个服务器的前面。 NginX3 – (如果我们一次运行3个Nginx实例,HA代理也可以工作)。 这是Linux机器上运行的最后一个Nginx服务器。 它的工作只是作为我们的IIS场的反向代理。 这个想法是,如果我们启动另一个IIS服务器(目前我们只有两个),那么我们只是把它添加到这个NginX的configuration,Nginx负责平衡。 我们仍然使用粘滞会话(由于一些马虎asp / asp.net代码),但至less我们可以划分不同虚拟机之间的工作量,并通过在我们的“IIS场”中添加一台机器来扩展(不使用IIS场特征)。 2X IIS服务器 – 这些只是iis服务器(全部相同),其中有多个站点configuration和网站通过FTP或Git加载到他们。 问题: 我们能否放弃拥有3个独立的Nginxconfiguration(虚拟主机),并将每一个结合起来? 如果是这样的话,那么在单个configuration中如何configurationNginX的例子将会非常棒! 我们如何能够保持上述目标,并将X地址转发给后端iis机器? 如果我们的Nginx服务器出现故障,那么会有什么build议呢? 上面的设置是我们的单点故障。 将上面的设置与两个Linux服务器,与DNS故障转移的组合或只有双DNSlogging修复了让我们的Nginx服务器的问题? Nginx的资源如何? 假设一个只有768mb ram的Azure Extra小“微”实例可以处理50-100个并发访问者是否安全? 提前致谢!!!!! 参考文献: NginX Pagespeed: http : //ngxpagespeed.com/ngx_pagespeed_example/ NginX反向代理: […]

modsecurity白名单允许文件下载?

我有一个启用了modsecurity的网站,但是当我试图通过网站访问服务器上的PDF文档时,我收到了403 Forbidden 。 有没有办法将PDF文件白名单允许通过网站或可能的configuration选项被提供? –9a349c55-A– [14/Aug/2013:10:05:57 –0400] UguOxX8AAQEAAD22d8AAAACN 192.168.1.108 52929 192.168.1.125 80 –9a349c55-B– GET /pdf/sample.pdf HTTP/1.1 Host: www.example.com Connection: keep-alive User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 Accept: */* Referer: http://www.example.com/pdf/sample.pdf Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Cookie: __utma=143856170.1892623529.1376158518.1376158518.1376158518.1; __utmz=143856170.1376158518.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=1.834637782.1376487927.1376487927.1376487927.1; __utmb=1.4.10.1376487927; __utmc=1; __utmz=1.1376487927.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) Range: bytes=0-32767 –9a349c55-F– HTTP/1.1 403 Forbidden […]

Apache Proxy来显示另一个网站

我需要代理URL http://de.domain.com/article1/foobar/到http://de.foobar.domain.com/article1/ 。 我怎样才能获取和设置子域语言的一部分? 例子: http://de.domain.com/article1/foobar/ => http://de.foobar.domain.com/article1/ http://dk.domain.com/article1/foobar/ => http://dk.foobar.domain.com/article1/ http://en.domain.com/article1/foobar/ => http://en.foobar.domain.com/article1/ http://el.domain.com/article1/foobar/ => http://el.foobar.domain.com/article1/ 我听说这是不可能的只有mod_proxy和我必须使用mod_rewrite为此。 但我不知道如何。 也许有人可以发表一个例子? redirect是不行的。

使用Apache的mod_proxy作为网关是否存在安全问题?

为了应对AJAX调用的同源策略,我想允许mod_rewrite和mod_proxy以类似的方式处理这些调用,如另一个答案中所述 : rewriteEngine on rewriteRule proxy/(.+)$ http://api.example.com/$1 [P] 不过,我正在通过networking阅读所有使用mod_proxy可能是危险的业务。 所以我的问题是:是否有任何安全问题启用mod_proxy并以上述方式使用它? 如果是这样,我应该select什么样的configuration来安全地使用mod_proxy网关? 谢谢,任何帮助表示赞赏。 PS:是的,我知道CORS是解决同源问题的一个更合理的方法,但是我正在使用的远程站点有点不愿意支持CORS,所以我必须寻找替代scheme。

如果起源不在mod_proxy中发送一个内容types,我可以设置内容types吗?

我有一个错误的起源,当它有一个错误页面,它不是设置一个内容types的头。 这是我们坐在Edgecast后面的一个问题,它们默认为导致浏览器尝试下载文件的application / octet-stream。 有什么办法可以让我的Apache设置一个内容types响应头,如果没有一个?

Apache mod_proxy + mod_rewrite =“请求超出限制…”错误

美好的一天, 我使用Apache作为我的Tornado应用程序在http://localhost:8090上运行的反向代理。 我希望Apache将通过HTTPS到达/ api / v2的所有内容代理到http://localhost:8090 。 Apache也负责authentication,因此我需要将authentication的用户名转发到我的Tornado应用程序。 因此使用mod_rewrite 。 我已经将以下条目添加到Apacheconfiguration中: <Location "/api/v2"> ProxyPass http://localhost:8090 # Next four lines are to set X-Forwarded-User RewriteEngine On RewriteRule .* – [E=RU:%{LA-U:REMOTE_USER}] RequestHeader set X-Forwarded-User %{RU}e SSLRequireSSL AuthType Basic AuthName "My site" AuthBasicProvider external AuthExternal pwauth Require valid-user Order deny,allow Allow from all </Location> 这工作奇迹,除了我在我的Apache日志中看到以下错误: Request exceeded the […]