Ошибка 520 каждый раз, когда я запускаю свой код за Cloudflare - PullRequest
0 голосов
/ 10 июля 2019

Я получаю ошибку 520 при попытке загрузить файлы s3 через мой код. Все это прекрасно работает локально, но когда я загружаю изменения на свой производственный сервер, который находится за облачным светом, я получаю ошибку 520. Я использую IIS 7.5 с классическим кодом asp, вот моя тестовая страница, которая вызывает каждый раз, когда я хочу загрузить файл с s3.

https://www.gbca.org.au/aws_test.asp?fileID=9450&hash=688254C6503507FDDF8CF5D5CD113212&type=pam

Это не имеет смысла, а cloudflare не выдает сообщений об ошибках.

'######################################### функция downloadFile ()

<code>Server.ScriptTimeout = 30000

set http = Server.CreateObject("Chilkat_9_5_0.Http")
http.UnlockComponent("BLUESIHttp_MHoP0vyTTL3e")
http.AwsAccessKey = AWS_ACCESS_KEY
http.AwsSecretKey = AWS_SECRET

if bucketType = "not-secure" then
    http.AwsEndpoint = "s3.ap-southeast-1.amazonaws.com"
    http.AwsRegion = "ap-southeast-1"
    bucketLocale = AWS_BUCKET_ASIA
else
    http.AwsEndpoint = "s3.ap-southeast-2.amazonaws.com"
    http.AwsRegion = "ap-southeast-2"
    bucketLocale = AWS_BUCKET_SECURE
end if

s3FileBytes = http.S3_DownloadBytes(bucketLocale, objectName)

If (http.LastMethodSuccess <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode(http.LastErrorText) & "
» Response.End End If 'response.write ("AWS_BUCKET_ASIA:" & AWS_BUCKET_ASIA & "
") 'response.write ("objectName:" & objectName & "
") 'response.write ("s3FileBytes:" & ubound (s3FileBytes) & "
") '' response.write ("s3FileBytes:" & filetype & "
") '' Response.end () Response.Clear Response.AddHeader "Pragma", "no-cache" Response.AddHeader "Content-Disposition", "attachment; filename =" "" & filename & "" "" Response.AddHeader "Content-Length", ubound (s3FileBytes) Response.AddHeader "Connect", "close" Response.ContentType = filetype Response.BinaryWrite s3FileBytes установить AWS = ничего '- войти в файл доступа 'SQLLine = "INSERT INTO download_history (fileID, who и т. Д.) VALUES (" & fileID & ")" «DBCC.execute (SQLLine)

конечная функция

https://www.gbca.org.au/aws_test.asp?fileID=9450&hash=688254C6503507FDDF8CF5D5CD113212&type=pam

1 Ответ

0 голосов
/ 10 июля 2019

Ошибка 520 , по сути, является всеобъемлющим ответом, когда происходит что-то неожиданное или когда исходный сервер неправильно интерпретирует или не допускает запрос из-за нарушения протокола или пустого ответа.

Помимо просмотра журналов вашего сервера, я рекомендую обратиться в службу поддержки Cloudflare, чтобы также просмотреть журналы на их конце. Если вы не пользуетесь Enterprise Plan и явно не запрашиваете включение 100% журналов, имейте в виду, что они хранят только 1% анонимных выборочных журналов в течение ограниченного времени, поэтому журналы могут быть недоступны, если вы свяжетесь с ними слишком поздно.

Я видел случаи, когда наблюдалась ошибка nginx upstream prematurely closed connection while reading response header from upstream, в данном случае апстрим означает исходный сервер. Это указывает на то, что исходный сервер или путь, по которому он проходил, имели проблемы в течение этого периода, из-за которых Cloudflare генерировал эти 520 ошибок. Сопоставление метки времени с журналами вашего сервера даст вам более полное представление о том, что может быть основной причиной.

...