【发布时间】:2016-02-06 14:31:56
【问题描述】:
我正在尝试通过 squid3 webproxy 访问服务总线,并使用 C# 在代理中启用基本身份验证
我正在使用下面的代码来设置网络代理
webproxy webproxy = new webproxy("http://weproxyuri:port", false);
webproxy.credentials = new networkcredential("username", "password","domain");
WebRequest.DefaultWebProxy = webProxy
我正在使用下面的代码来访问服务总线
MessagingFactory messagingFactory = MessagingFactory.CreateFromConnectionString(connectionstring);
QueueClient queueSendClient = messagingFactory.CreateQueueClient(queuename);
var bm1 = queueSendClient.Peek();
访问服务总线失败并出现错误 - X.509 证书 CN=servicebus.windows.net 不在受信任的人员存储中
在代理日志中我看到 1454679317.842 0 10.168.84.150 TCP_DENIED/407 4046 GET http://www.microsoft.com/pki/mscorp/msitwww2.crt - HIER_NONE/- text/html
在网络跟踪中,我看到主机尝试连接到http://www.microsoft.com/pki/mscorp/msitwww2.crt,首先它尝试在没有身份验证的情况下连接,然后代理说 HTTP/1.1 407 需要代理身份验证作为对对这个理想主机的请求应该使用包含用户名和密码的 Proxy-Authorization Header 重新发送请求,但我看到主机没有第二次发送 Proxy-Authorization Header 的奇怪行为
需要设置任何注册表项吗?
我正在使用 windows core 2012 R2 作为主机
【问题讨论】:
-
服务总线连接模式设置为什么?如果是 Auto 然后考虑将其更改为 Http 并尝试。我想它必须有效。
标签: c# proxy azureservicebus squid webproxy