gpt4 book ai didi

google-compute-engine - GCE - HTTP 负载平衡返回错误 502(错误的网关) - 仅当通过 C# 发布时

转载 作者:行者123 更新时间:2023-12-01 13:48:15 24 4
gpt4 key购买 nike

我们有一个 C# 应用程序可以获取数据并将其发布到我们的网站。在使用 Compute Engine 测试 HTTP 负载平衡时,我们遇到的唯一问题是 C# 应用程序尝试提交数据并返回 502 Bad Gateway。是否需要在 HTTP 负载平衡中设置或配置其他内容?正如我提到的,这似乎是我们遇到的唯一问题。

注意事项

  • 使用网络负载平衡发布到相同的脚本有效
  • 只要没有使用相同代码发布的数据,C# App 就可以获取数据。

有效的代码

SendRequest("http://beta.stubwire.com/", "");

无效的代码

SendRequest("http://beta.stubwire.com/", "this is a test");

被调用的函数

        private static string SendRequest(string url, string postdata)
{
if (String.IsNullOrEmpty(postdata))
return null;
HttpWebRequest rqst = (HttpWebRequest)HttpWebRequest.Create(url);
// No proxy details are required in the code.
rqst.Proxy = GlobalProxySelection.GetEmptyWebProxy();
rqst.Method = "POST";
rqst.ContentType = "application/x-www-form-urlencoded";
// In order to solve the problem with the proxy not recognising the user
// agent, a default value is provided here.
rqst.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
byte[] byteData = Encoding.UTF8.GetBytes(postdata);
rqst.ContentLength = byteData.Length;

using (Stream postStream = rqst.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
postStream.Close();
}
StreamReader rsps = new StreamReader(rqst.GetResponse().GetResponseStream());
string strRsps = rsps.ReadToEnd();
return strRsps;
}

最佳答案

Google HTTP 负载平衡不支持 Expect 100 Continue。要解决此问题,您必须添加以下代码行之一。

System.Net.ServicePointManager.Expect100Continue = false;

rqst.ServicePoint.Expect100Continue = false;

例子

        HttpWebRequest rqst = (HttpWebRequest)HttpWebRequest.Create(url);
rqst.Proxy = GlobalProxySelection.GetEmptyWebProxy();
rqst.Method = "POST";
rqst.ServicePoint.Expect100Continue = false;
rqst.ContentType = "application/x-www-form-urlencoded";
rqst.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
byte[] byteData = Encoding.UTF8.GetBytes(postdata);
rqst.ContentLength = byteData.Length;

关于google-compute-engine - GCE - HTTP 负载平衡返回错误 502(错误的网关) - 仅当通过 C# 发布时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com