标签: mod-proxy

如何在apache mod_proxy(Apache2)中启用/配置SOCKS代理支持

我正在尝试找到一个关于如何使用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代理访问它们

apache mod-proxy socks

14
推荐指数
1
解决办法
3414
查看次数

如何在ProxyPass中使用与Tomcat上下文名称不同的路径名

我正在使用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 tomcat mod-proxy

13
推荐指数
1
解决办法
4万
查看次数

有没有办法删除apaches反向代理请求标头?

当充当反向代理时,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 mod-rewrite apache2 mod-proxy mod-headers

13
推荐指数
1
解决办法
1万
查看次数

与Apache集成时,Express.js中的502代理错误

我正在托管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)

apache mod-proxy node.js express socket.io

13
推荐指数
1
解决办法
7422
查看次数

用于特定URL模式的Apache mod-proxy ProxyErrorOverride

我正在使用带有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?

apache mod-proxy

12
推荐指数
1
解决办法
7281
查看次数

Apache mod_proxy 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 mod-proxy url-encoding

12
推荐指数
1
解决办法
7978
查看次数

在Apache Server mod_proxy指令中设置所有ProxyPass映射的超时

我有什么和工作:

我正在使用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 …

apache apache2 mod-proxy apache2.2

12
推荐指数
1
解决办法
7万
查看次数

Tomcat停止响应Apache

我正在尝试解决有关使用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 tomcat mod-proxy

12
推荐指数
4
解决办法
6万
查看次数

当目标停止时,Apace代理缓存"服务暂时不可用"响应

我有apache坐在我的节点服务器前面.节点在某个端口上运行,我使用apache代理到该端口,并且还为https配置了apache.

当我启动Apache然后启动我的节点服务器时,一切运行良好.如果我关闭节点服务器并试图点击我的服务apache说'Service Temporarily Unavailable'.这是我的节点服务器关闭时的预期.

然而,当我把我的服务器重新启动而没有触及apache并尝试再次打击我的服务时,apache仍然说"服务暂时不可用".它就像阿帕奇不再尝试.如果我反弹apache一切都很好.

由于我一直在运行,如果发生致命事故,我的服务器可能会停机几秒钟.如果发生这种情况,我不想反弹apache.

反正有没有得到apache总是尝试并不缓存它最近试图命中的服务不可用的事实?

apache mod-proxy

12
推荐指数
1
解决办法
8402
查看次数

AJP 1.3连接器全局监听端口8009,为什么以及如何将其关闭?

我用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端口,我不这么认为?!以及如何关闭它?

tomcat mod-proxy ajp

11
推荐指数
1
解决办法
3万
查看次数