我正在尝试找到一个关于如何使用SOCKS代理设置apache2 mod_proxy的文档我找到了这个页面 http://menet.math.ecnu.edu.cn/manual/mod/mod_proxy.html#socks 但它是关于apache版本1,我不确定那里的配方是否仍适用于版本2
我想要实现的是:
有一个apache2服务我的域exampleA.com和SOCKS代理.它们都在服务器A上运行.SOCKS代理就在那里,因此服务器A上的某些应用程序可以与服务器B,C上的其他应用程序通信,并且它运行在localhost:4000上
我想要的是当用户访问特定网址时,例如 http://exempleA.com/spetialurl/http://exampleB.com/xxx
这个http请求将通过apache mod_proxy代理到服务器B - 但是通过SOCKS代理或者如果用户访问 http://exempleA.com/spetialurl/http://exampleC.com/xxx, 这也将通过mod_proxy代理到服务器C通过SOCKS代理
我可以配置mod_proxy来代理服务器B或C的specyfic url我缺少的是如何配置/告诉apache2使用SOCKS代理
服务器B和C上的URL不公开,但可以通过SOCKS代理访问它们
我正在使用Tomcat 5.5.9和Apache 2.x.
我们尝试在ProxyPass中使用与Tomcat上下文名称不同的路径名.
ProxyPass /path http://localhost:8080/contextname
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.当这两个相同时,一切正常.
我在网上看到的大多数示例都具有等于Tomcat上下文名称的路径.
我在Tomcat上下文中使用"context.xml",并且没有"server.xml"条目.此外,我使用普通的httd.conf并且不使用任何VirtualHost条目.
任何帮助表示赞赏.
问候,
Diptenu
当充当反向代理时,apache会添加x-forwarded标头,如此处所述.
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers
在我的配置中,我已将服务器A配置为转发代理.有一个这样的规则:
RewriteRule proxy:(.*example.com)/(.*) $1.mysecondserver.com/$2 [P]
Run Code Online (Sandbox Code Playgroud)
此规则允许服务器从我的其他服务器请求资源.
在第二个服务器(原始)上,我有一个资源的虚拟主机容器和另一个重写规则,如下所示:
RewriteRule some-regex some-url [P]
Run Code Online (Sandbox Code Playgroud)
它似乎没有这样的意义,但是我遗漏了许多其他的东西,因为它不是问题的一部分.
但是,最终请求具有以下标头:
[X-Forwarded-For] => ip of 1st server
[X-Forwarded-Host] => example.myseconserver.com
[X-Forwarded-Server] => example.com
Run Code Online (Sandbox Code Playgroud)
我想要那些标题消失了.
我似乎无法用mod_headers取消它们.我可以添加更多条目,但我无法删除它们
有任何想法吗?
我正在托管apache和node.js服务器以及代理到节点服务器的apache服务器.我的框架是express.js,我正在使用amCharts.I有超时代理设置为600.当我打开我的网站时,我只得到静态内容而不是amCharts的动态内容.
这是我的服务器端代码:
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var fs = require('fs');
var data = '';
var app = express();
var server = app.listen(3000);
var io = require('socket.io').listen(server);
// all environments
//app.set('port', process.env.PORT || 3000);
//app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
io.sockets.on('connection', function (socket) {
setInterval(function(){
var file = __dirname + '/config.json';
fs.readFile(file, 'utf8', function (err, data) { …Run Code Online (Sandbox Code Playgroud) 我正在使用带有mod-proxy的Apache 2.2,并且我已经使用几个ProxyPass语句对其进行了配置,以便从远程URL代理到本地URL.我需要从Apache返回这些代理URL的自定义错误文档,因此我在我的mod-proxy配置中设置了"ProxyErrorOverride On"以及一些ErrorDocument指令(使用本地URL路径)来返回一些HTTP状态代码的自定义错误页面利益.但是,如果返回的状态代码我没有为其创建ErrorDocument指令,则Apache会使用默认错误页面替换响应正文,而不是保留原始响应正文.这不适用于该应用程序.所以我真的有两个问题:
1)如果我没有为它定义ErrorDocument覆盖,是否可以配置Apache以保留原始响应体的特定状态代码?
2)是否可以将ProxyErrorOverride指令仅应用于我的ProxyPass语句中的某些URL?
我有一个REST服务,接受表单/ {parameter}中的参数
还有Apache2将请求转发给Web服务
<VirtualHost *:9091>
AllowEncodedSlashes NoDecode
LogLevel debug
ProxyPass /webservice balancer://api/webservice
<Proxy balancer://api>
BalancerMember http://localhost:8030
</Proxy>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
参数可能包含编码字符,例如%2f(/)
问题是Apache再次编码这些字符,Webservice收到%252F而不是%2F
[Mon Oct 15 13:59:24 2012] [debug] mod_proxy_balancer.c(46): proxy: BALANCER: canonicalising URL //api/webservice/Interface GigabitEthernet1%2F0%2F2
[Mon Oct 15 13:59:24 2012] [debug] mod_proxy_balancer.c(581): proxy: BALANCER (balancer://api) worker (http://localhost:8030) rewritten to http://localhost:8030/Interface%20GigabitEthernet1%252F0%252F2%20Utilization
Run Code Online (Sandbox Code Playgroud)
如果我直接请求webservice,Tomcat/Jetty会处理它,并且服务会收到正确的参数.
我有什么和工作:
我正在使用Apache HTTPD 2.2进行代理请求.我有多个ProxyPass映射:
ProxyRequests On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost Off
ProxyPass /a http://some_ip/
ProxyPassReverse /a http://some_ip/
ProxyPass /b http://some_other_ip/
ProxyPassReverse /b http://some_other_ip/
...
Run Code Online (Sandbox Code Playgroud)
这很好用.
我想要的是:
我的一些请求需要更长的时间,所以他们超时给我一个代理错误 - 原因:从远程服务器读取错误.
我想为timeout我的所有要求设置.我可以这样做而无需timeout=... KeepAlive=On为每个ProxyPass映射添加吗?
我目前有类似的东西:
ProxyPass /a http://some_ip/ timeout=1200 KeepAlive=On
ProxyPassReverse /a http://some_ip/
ProxyPass /b http://some_other_ip/ timeout=1200 KeepAlive=On
ProxyPassReverse /b http://some_other_ip/
... and i do this for all my ProxyPass mappings
Run Code Online (Sandbox Code Playgroud)
我能以某种方式告诉Apache 为所有映射添加timeout …
我正在尝试解决有关使用mod_proxy_ajp连接Apache和Tomcat的问题.在我的情况下,Tomcat停止响应Apache,并且apache日志打印日志错误消息,如下所示:
[Mon May 06 15:22:47 2013] [error] ajp_read_header: ajp_ilink_receive failed
[Mon May 06 15:22:47 2013] [error] (120006)APR does not understand this error code: proxy: read response failed from [::1]:18009 (localhost)
Run Code Online (Sandbox Code Playgroud)
我不知道.有人可以帮帮我吗?
我有apache坐在我的节点服务器前面.节点在某个端口上运行,我使用apache代理到该端口,并且还为https配置了apache.
当我启动Apache然后启动我的节点服务器时,一切运行良好.如果我关闭节点服务器并试图点击我的服务apache说'Service Temporarily Unavailable'.这是我的节点服务器关闭时的预期.
然而,当我把我的服务器重新启动而没有触及apache并尝试再次打击我的服务时,apache仍然说"服务暂时不可用".它就像阿帕奇不再尝试.如果我反弹apache一切都很好.
由于我一直在运行,如果发生致命事故,我的服务器可能会停机几秒钟.如果发生这种情况,我不想反弹apache.
反正有没有得到apache总是尝试并不缓存它最近试图命中的服务不可用的事实?
我用Apache 2和mod_proxy设置了一个Tomcat 6.现在我在server.xml中有这个默认值:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)
netstat看起来像这样:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4703/apache2
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1020/sshd
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 10517/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 10517/java
tcp 0 0 127.0.0.1:8009 127.0.0.1:48704 ESTABLISHED 10517/java
tcp 0 0 127.0.0.1:48704 127.0.0.1:8009 ESTABLISHED 11696/apache2
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,AJP是否有必要在全球范围内收听8009端口,我不这么认为?!以及如何关闭它?
mod-proxy ×10
apache ×9
tomcat ×3
apache2 ×2
ajp ×1
apache2.2 ×1
express ×1
mod-headers ×1
mod-rewrite ×1
node.js ×1
socket.io ×1
socks ×1
url-encoding ×1