标签: forward

Apache重写请求使用不同的转发代理

我想基于请求标头将Apache中的请求转发给不同的转发代理.我认为最好的方法是使用mod_rewrite,但它只能使用在相同的apache配置中定义的反向代理.

我还检查了mod_proxy的ProxyRemote属性,但它不能根据条件使用,只能基于请求url.

我需要这样的东西:

如果X-CUSTOM-HEADER是值-1 - >转发请求转发代理p1如果X-CUSTOM-HEADER是值-2 - >转发请求转发代理p2

等等

Din有人设法制作这样的东西吗?

谢谢,艾琳

apache mod-rewrite proxy forward

6
推荐指数
1
解决办法
5103
查看次数

从servlet调用外部Web服务

我正在开发一个获取Web服务名称的servlet,可以将请求转发给外部Web服务,例如: http://www.webservice.com/...

我已经构建了一个拦截响应输出的响应包装器,但是我无法将请求转发到外部Web服务,只有当我将请求重定向到同一服务器上的servlet时,它才有效.

例:

request.getRequestDispatcher("aMyServlet").forward(request, response) // WORKS
 request.getRequestDispatcher("http://www.webservice.com/...").forward(request, response)
Run Code Online (Sandbox Code Playgroud)

不是因为Tomcat http://www.webservice.com/...在服务器上搜索本地资源.

我该怎么办外部请求?

谢谢

java servlets forward

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

使用procmail转发电子邮件到另一个帐户保留副本

我尝试使用procmail将所有传入电子邮件中的副本发送到另一个电子邮件帐户(两者都在同一台服务器上,例如email1和email2帐户).

我的.procmailrc在email1帐户中:

:0c
! email2
Run Code Online (Sandbox Code Playgroud)

据我所知,这应该在email1帐户中保留一份副本.但该文件夹中没有电子邮件.(转发的电子邮件正确地出现在email2帐户中.)

我怎么解决这个问题?

注意:.forward文件包含:

| "/usr/bin/procmail"
Run Code Online (Sandbox Code Playgroud)

编辑

这项工作对我来说(非常感谢tripleee):
首先,我必须设置DEFAULT变量.(默认为$ ORGMAIL,ORGMAIL默认为/ var/mail/$ LOGNAME,如procmailrc手册中的环境变量默认部分所述.)
其次,我必须将尾随/设置为DEFAULT和MAILDIR.(如果没有尾随/,procmail使用mbox格式,它会在指定目录中创建一个像msg.oqs这样的mbox文件.)

所以完整的.procmailrc:

DEFAULT=$HOME/Maildir/
MAILDIR=$HOME/Maildir/

:0c
! email2
Run Code Online (Sandbox Code Playgroud)

如果您想调试,请在MAILDIR之后写下这些行:

LOGFILE=$HOME/procmail.log
LOGABSTRACT=yes
VERBOSE=yes
Run Code Online (Sandbox Code Playgroud)

email procmail copy forward

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

如何转发子区域

我正在使用Bind9作为我办公室的DNS服务器.

我们有一个区域:example.com.必须从我们的DNS服务器解析为权威.

另一方面,我们有一个sub.example.com.zone,必须转发到其他DNS服务器.

当我们在example.com上查询任何记录时绑定答案.区.但是对于sub.example.com的查询失败了.因为它不做转发.它一直在寻找当地的答案.

这是named.conf文件

zone "sub.example.com" IN { type forward;
        forwarders {172.21.238.229;172.21.238.230;};
        forward only;
};


zone "example.com" {
        type master;
        forwarders {};
        file "/etc/named/example.com.db";
};
Run Code Online (Sandbox Code Playgroud)

这是example.com.db文件内容:

$ORIGIN example.com.
$TTL 1W
@   IN  SOA     dnsldes.example.com. postmaster.example.com. (
                               6            ; serial number
                               3600         ; refresh   [1h]
                               600          ; retry     [10m]
                               86400        ; expire    [1d]
                               3600 )       ; min TTL   [1h]
;


      IN     NS      dnsldes.example.com.

bdred           IN      A       172.22.2.150
dnsldes IN      A       172.21.229.159
Run Code Online (Sandbox Code Playgroud)

这是使用dig客户端的bdred.example.com查询的输出(可以):

; <<>> DiG 9.8.1-P1 <<>> bdred.sub.example.com
;; global …
Run Code Online (Sandbox Code Playgroud)

subdomain dns forward

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

Symfony2 | 隐藏/删除标题从响应/转发

我试图将2个控制器结果放在一个控制器中,所以我使用'$response = $this->forward('Bundle:Controller:functionXXX');' 转发第一个控制器.

在控制器' functionXXXAction'我使用renderView返回响应.

问题是转发函数在页面顶部返回此标题:

"HTTP/1.0 200 OK Cache-Control: no-cache Date: Wed, 24 Apr 2013 09:56:50 GMT"
Run Code Online (Sandbox Code Playgroud)

任何解决方案将其隐藏在页面中?!

header response forward hide symfony

6
推荐指数
1
解决办法
1301
查看次数

c ++前向声明设计

从我所读到的,我应该尽可能使用前瞻声明.我有这样的类(由于前向声明,每个字段都是指针):

class A
{
    // ...

    A* a;
    B* b;
    C* c;
    D* d;
    E* e;
};
Run Code Online (Sandbox Code Playgroud)

但是存在问题.

1 - 这意味着调用new和delete(或至少与全新智能指针),用于构造每一个领域,而堆栈中分配领域不需要这个.

2-我读过堆栈分配比堆分配快.

3-这也意味着几乎每个类的每个字段都应该是指针.

我是否以正确的方式做我的示例类?或者我错过了有关前瞻性声明的内容?

c++ forward forward-declaration

6
推荐指数
2
解决办法
775
查看次数

使用JavaScript将鼠标滚动事件转发到另一个div

标题几乎描述了我的目标.这是代码[仅适用于WebKit]:

我们有两个div,elem1和elem2.还有一个名为logger的文本框来显示结果.elem1有一些带溢出的文本:滚动.

function eventHandler(e){
    var myEvt = new e.constructor(e.type, e);
    document.getElementById('elem1').dispatchEvent(myEvt);
}

function elem1MouseScroll(e){
    document.getElementById('logger').value='mousescroll on ' + (e.target || e.srcElement).id + ' at (' + e.clientX + ', ' + e.clientY + ')';
}

document.getElementById('elem1').addEventListener('mousewheel', elem1MouseScroll, false);               
document.getElementById('elem2').addEventListener('mousewheel', eventHandler, false);    
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/s4hwt886/1

[蓝色div上的鼠标滚轮滚动应该转发到粉红色div.顶部的文本框显示结果.]

正如您所看到的,即使来自elem2的mousewheel事件在elem1上触发相同,遗憾的是elem1中的内容实际上并未实际滚动.

我很困惑.有人可以帮忙吗?您不必担心Gecko部分无法正常工作.构造函数技巧在Gecko中不起作用,因此代码会更大一些.这就是为什么我没有把它包括在小提琴中.

编辑:在Chrome中,这个小提琴就像我想要的那样.所以我更新了代码以支持Gecko.不幸的是,Firefox表现得像Safari一样.转发事件正在触发,我可以在日志文本框中看到它,但内容不滚动.这是更新的小提琴:http://jsfiddle.net/s4hwt886/2/

NB我想要一个非Jquery解决方案.我能找到的所有其他类似线程都与Jquery有关.

javascript mouse scroll forward mousewheel

6
推荐指数
0
解决办法
1556
查看次数

使用TLSharp库转发消息(C#)

我正在使用这个C#库连接到Telegram API:TLSharp

这个库的资源还不够,我正在尝试将消息转发到频道.

我不太确定如何获得频道帖子peerID(用于转发函数输入参数)

var store = new FileSessionStore();
            var client = new TelegramClient(Properties.Settings.Default.apiID, Properties.Settings.Default.apiHash, store, "session");
            await client.ConnectAsync();
            var dialogs = (TLDialogs)await client.GetUserDialogsAsync();
            var chat = dialogs.chats.lists
                .OfType<TLChannel>()
                .SingleOrDefault(a=>a.title=="test");
            await client.SendRequestAsync<TLAbsUpdates>(
                               new TLRequestForwardMessage()
                               {
                                   id = 2,
                                   peer = new TLInputPeerChannel() { channel_id = chat.id, access_hash = chat.access_hash.Value },
                                   random_id = Helpers.GenerateRandomLong()
                               });
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

{ "PEER_ID_INVALID"}

请帮助我,该对等ID是什么以及如何使用TLSharp来访问和使用它来转发消息.谢谢.

c# api forward telegram

6
推荐指数
1
解决办法
1230
查看次数

使用 SQUID 转发代理进行客户端证书身份验证

我的网络中有 SQUID 作为 https 转发代理。我的一个应用程序从网络发送 SAOP 请求。SOAP Web 服务需要客户端证书进行身份验证。我已经为我的应用程序配置了密钥库和信任库。应用程序无需 SQUID 代理即可直接正常工作。

它也适用于 SQUID 隧道(即 ssl_bump splice )。

我们不想使用拼接。我们需要 SQUID 来解密 SSL 流量并进行身份验证并将身份验证证书(客户端证书)传递到 Web 服务服务器。对于这种情况,SQUID 可能的配置是什么?

有关信息:SQUID 代理可以在不需要客户端证书进行身份验证的 HTTP 和 HTTPS 流量中正常工作。示例“ https://www.google.com

authentication soap squid client-certificates forward

6
推荐指数
0
解决办法
2824
查看次数

如何使用JAX-RS转发请求?

我想将REST请求转发到另一台服务器。

我将JAX-RS与Jersey和Tomcat一起使用。我尝试通过设置See Other响应和添加Location标题来进行尝试,但这并不是真正的前进。

如果我使用:

request.getRequestDispatcher(url).forward(request, response); 
Run Code Online (Sandbox Code Playgroud)

我得到:

  • java.lang.StackOverflowError:如果网址是相对路径
  • java.lang.IllegalArgumentException:路径http://website.com不能以/字符开头(我认为转发仅在同一servlet上下文中是合法的)。

如何转发请求?

java servlets http jax-rs forward

5
推荐指数
1
解决办法
5544
查看次数