tim*_*mje 7 azure azureservicebus
我想找到一种方法来确保我的自托管Web服务通过HTTPS连接到Azure Service Bus(主题和队列) - 我不希望它们回退到HTTP.
// this ensures that HTTP is used instead of TCP sockets.
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;
Run Code Online (Sandbox Code Playgroud)
以上设置确保不尝试TCP套接字,但我无法找到任何方法来确保在设置HTTPS(SSL)失败时不使用HTTP回退.
我的代理停止了fiddler与服务总线的良好协作,所以当我调出fiddler它只记录从我的服务器发出的一堆(未加密的)HTTP流量 - 显然这与我想要的相反.
消息传递实体期望以形状传递URI
Endpoint=sb://somenamespace.servicebus.windows.net/; ...
Run Code Online (Sandbox Code Playgroud)
这阻止我指定的https:// ....有没有人知道如何以及在哪里可以禁止Service Bus使用未加密的通信?
有趣的是(不一致?),命名空间管理器似乎并不介意使用带有https的URL ...
var ns = NamespaceManager.CreateFromConnectionString(
"Endpoint=https://somenamespace.servicebus.windows.net/;..."
);
Run Code Online (Sandbox Code Playgroud)
更新#1:启动wireshark,看起来通信是通过端口80.它使用http 1.1流,这解释了为什么fiddler和代理不能很好地播放.握手发生在azure在201响应中发送webstream地址,然后TCP数据包开始通过端口80传递,包括清除信息,如下所示:
*sb://somenamespace.servicebus.windows.net:80/....application/ssl-tls
...
(later on)
...
http://www.microsoft.com/pki/mscorp/MSIT%20Machine%20Auth%20CA%202(1).crt
Run Code Online (Sandbox Code Playgroud)
这让我强烈怀疑TLS流量是通过端口80发送的 - 尽管我希望有人能够确认这一点.
| 归档时间: |
|
| 查看次数: |
4279 次 |
| 最近记录: |