Error returned error unknown account

«Returned error: unknown account» after upgrading from 1.0.0-beta.26 to 1.0.0-beta.27 #1274 Comments Hello, After web3js package update from 1.0.0-beta.26 to 1.0.0-beta.27 I faced following issue. Anytime I execute state changing contract method (like this): I dived deeper and checked how it is transformed behind to json-rpc: DefaultAccount is added and private key for this […]

Содержание

  1. «Returned error: unknown account» after upgrading from 1.0.0-beta.26 to 1.0.0-beta.27 #1274
  2. Comments
  3. Unknown Account #948
  4. Comments
  5. Ошибка 500 Internal Server Error: что это и как её исправить
  6. Ошибка 500 Internal Server Error — диагностика
  7. Ошибка 500 Internal Server Error — устранение на популярных платформах
  8. Ошибка 500 Internal Server Error — устранение на стороне серверных скриптов
  9. Попросите помощи у системного администратора
  10. Ошибку 500 Internal Server Error довольно легко устранить
  11. Ошибка сервера 401: что это за ошибка и как ее исправить
  12. Причины появления ошибки сервера 401 и способы ее устранения на стороне пользователя
  13. Устранение ошибки 401 администратором веб-ресурса
  14. Дополнительная информация об ошибке с кодом 401

«Returned error: unknown account» after upgrading from 1.0.0-beta.26 to 1.0.0-beta.27 #1274

Hello,
After web3js package update from 1.0.0-beta.26 to 1.0.0-beta.27 I faced following issue. Anytime I execute state changing contract method (like this):

I dived deeper and checked how it is transformed behind to json-rpc:

DefaultAccount is added and private key for this address is in the wallet.

Completely don’t know what’s going on. On the previous version everything was fine, but now I cannot back to beta26 because even I back with main package, all dependencies are at beta27(latest).

The text was updated successfully, but these errors were encountered:

@starspire — Please see the Personal API, all the methods are not documented on the web3js read the docs, just yet, but the signatures are the same. The methods you need to use for unlocking arbitrary accounts via a dapp is importRawKey() and unlockAccount() ; make sure the personal API is enabled for the respective protocol you are using (HTTP || WS).
Previously when i have attempted to use the defaultAccount method, geth returned unknown account error.

It seems I came across a related issue. As a temporary solution, you can set your dependencies as follows:

More details I described here #1276

Thanks @vldmkr for your temp solution. I confirm that locking this 3 dependencies solves the problem. @MrTibbles, thank you for your response also! However I don’t want to use unlockAccount() in my implementation (unless I really don’t have to), rather sign transaction locally and send as it is. Using wallet functionality as long as it was working was perfect solution according to the docs:

The from property can also be an address or index from the web3.eth.accounts.wallet. It will then sign locally using the private key of that account, and send the transaction via web3.eth.sendSignedTransaction().

@starspire yeah, agreed, it is not ideal. To be clear, i still sign the transactions locally and then send it. I did find that even with signing and sending it still returned unknown account.

Источник

Unknown Account #948

Environment Metamask Mobile -> v0.2.19
Ethers -> 5.0.5

Remote debugged with Chrome DevTools
This issue do not happen on Firefox and Chrome desktop.
It occurs only on Metamask Mobile.

1 — Ethers is loaded dynamically :

2 — Ethers is instantiated with the metamask provider and the getAccount trick
The account is properly retrieved

I use the ‘any’ parameter as advised here:
#899
I didn’t do this test without this parameter though.

3 — Here is the code who crashes

1 — Ethers generates an exception :
Error: unknown account #0 (operation=»getAddress», code=UNSUPPORTED_OPERATION, version=providers/5.0.4)
Minor remark -> the signature is still the 5.0.4 and not the 5.0.5

2 — Metamask Mobile generates as well an exception:
VM13:8 MetaMask: ‘eth_accounts’ unexpectedly updated accounts. Please report this bug.

Workaround :
const signer = web3.getSigner(account)
When I explicitly set the account while retrieving the signer both exceptions are gone.

The text was updated successfully, but these errors were encountered:

The versions are intentionally not synchronized, so the version of the sub-module is fine. 🙂

I’m not sure what this.getAccount is. Is that a function you added? Or part of a framework or MetaMask?

Is MetaMask enabled? Using the await window.ethereum.enable() ? The MetaMask plug-in needs access enabled before any account operations can be used. This is an API I would eventually like to add, but need to coordinate a bit with the various client to make sure it works across the board.

Is this still a problem? Was it a MetaMAsk issue?

1 — I work around the issue when requesting a signer with an explicit selected account instead of the implicit selected account
provider.getSigner(account)
vs
provider.getSigner()

2 — Metamask Mobile issued several releases in the mean time.
I will do some testing to verify if the problem remains

Thanks for your support

(out of curiosity, how do you get the explicit account to use? provider.accounts ?)

As I work with Metamask I have several ways to achieve it.
1 — The first step is to use @metamask/detect-provider
Basically async on mobile, sync on desktop
2 — It’s probably easier to let you browse the code:
https://github.com/xmaysonnave/tiddlywiki-ipfs/blob/795cc95a661442dce50dcdb0807ea2c7868a92cd/src/plugins/ipfs/ethereum-library/index.js#L332
Thanks

I’m going to close this now as stale. I haven’t tested it, but I’m guessing there is also some issue with .enable() , which I assume that the module MetaMask forces you to use?

If this is still a problem though, please re-open.

Just to bring this back up, It is still an issue. At expanse we have a public load balanced node. Its load balanced between 6 nodes in various locations and server farms. When using hardhat for testing, everything is fine. When we start to use the live net we get this error when calling methods on contracts. I noticed that 5 out of 6 times it was failing. I thought it was me.

After like 4 hrs of debugging I realized the ONE difference on the ONE node was that it had a native account. That account is being used as account 0.

If I connect directly to the node that has a native account 0, everything works like it should 100% of the time.

Currently I’m doing..

For some reason this only works if the provider im connecting to already has a local account even though I thought I was supplying one.

Источник

Ошибка 500 Internal Server Error: что это и как её исправить

Разработчики и люди, профессионально работающие с веб-приложениями, боятся 500 Internal Server Error . Оптимальный способ её устранения зависит от сервера и того, что на нём запущено. В данной статье приводятся советы по диагностике и исправлению ошибки 500 .

Ошибка 500 Internal Server Error — диагностика

Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код , выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть причиной, по которой возникает ошибка 500 Internal Server Error . Само название ( Internal Server Error – ‘внутренняя ошибка сервера’ ) говорит о том, что ошибка происходит на сервере.

Ошибка 500 Internal Server Error — устранение на популярных платформах

Многие пользователи устанавливают на свой сервер популярные CMS-системы , такие как WordPress , Joomla , Drupal и они не должны вызывать ошибку 500 , если всё настроено правильно. Однако она всё равно всплывает – из-за несовместимости версий, некачественных установок или сбоя прав доступа на сервере.

Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :

  • Если вы только что обновили движок до новой версии, вероятно, обновление прошло с ошибками и необходимо провести его повторно. Скорее всего, на сайте разработчика есть инструкции, как это правильно сделать.
  • Если вы только что активировали новый плагин или новую тему, стоит попробовать отменить эти изменения. Даже профессионально написанные плагины могут конфликтовать с другими и вызывать 500 Internal Server Error nginx
  • Если вы обновляли CMS , старые плагины и темы могут быть с ней несовместимы. Единственное, что можно сделать в таком случае — отключать их по очереди, пока ошибка 500 не исчезнет.
  • Неправильно заданные права доступа на сервере или ошибки в файле .htaccess . Серверу не удаётся получить доступ к скриптам, файлам и другим ресурсам, поэтому он выдаёт ошибку.

Когда причиной, по которой возникает ошибка 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.

Ошибка 500 Internal Server Error — устранение на стороне серверных скриптов

Другой причиной по которой может возникнуть ошибка 500 Internal Server Error может стать разработка и тестирование собственных скриптов.

Чтобы справиться с такой ошибкой, попробуйте следующие решения :

  • Настройка прав на сервере : часто неверная настройка прав доступа к файлу или папке приводит к тому, что сервером выдаётся ошибка 500 Internal Server Error . Из-за того, что ему не удаётся запустить скрипт. Выясните, какие права должны быть настроены, и выставьте их соответствующим образом.
  • Превышено время ожидания : возможно, истекло время ожидания ответа от PHP или другого серверного скрипта. Это происходит из-за того, что недоступен определённый ресурс или коде была допущена ошибка, запускающая бесконечный цикл.
  • Превышено время ожидания соединения с сервером: если сервер был занят, перезагружался или потерял соединение, скрипт может выдать ошибку 500 Internal Server Error . Возможно, в следующий раз ошибки не будет. Но если ошибка появляется при тестировании, велика вероятность того, что она встретится и пользователям.
  • Ошибки в файле .htaccess: в некоторых случаях ошибку 500 может вызывать код, прописанный в файле .htaccess .
  • Ошибки в скрипте: если ошибку выдаёт скрипт, можете запросить у него подробную информацию об ошибке. К примеру, в PHP можно включить вывод ошибок на экран или в лог-файл, добавив директиву display_errors . По умолчанию среда выполнения может скрывать ошибки, но это не очень удобно для отладки программы.

Попросите помощи у системного администратора

В некоторых случаях у разработчиков нет полного контроля над сервером.

Если скрипт запускается на сервере сторонней организации, она может помочь вам в следующем :

  • Предоставить документацию о своём сервере и возможных причинах ошибки 500 . В зависимости от используемой операционной системы и настройки оборудования, данная ошибка может возникать по разным причинам.
  • Попросите службу поддержки хостинга посмотреть лог-файлы с ошибками — системный администратор сможет определить, был ли сервер во время возникновения ошибки загружен или вовсе « упал ».

Ошибку 500 Internal Server Error довольно легко устранить

Ошибка 500 Internal Server Error — как исправить ? В большинстве случаев причины возникновения ошибки 500 легко исправляются. Проблема заключается в том, что без конкретной информации определение причины возникновения сбоя усложняется. Легче всего справиться с ошибкой, когда разработчик выяснит, что изменилось перед возникновением ошибки.

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

Вадим Дворников автор-переводчик статьи « 500 Internal Server Error: What It Is And How To Fix It »

Источник

Ошибка сервера 401: что это за ошибка и как ее исправить

Появление сообщения об ошибке 401 Unauthorized Error («отказ в доступе») при открытии страницы сайта означает неверную авторизацию или аутентификацию пользователя на стороне сервера при обращении к определенному url-адресу. Чаще всего она возникает при ошибочном вводе имени и/или пароля посетителем ресурса при входе в свой аккаунт. Другой причиной являются неправильные настройки, допущенные при администрировании web-ресурса. Данная ошибка отображается в браузере в виде отдельной страницы с соответствующим описанием. Некоторые разработчики интернет-ресурсов, в особенности крупных порталов, вводят собственную дополнительную кодировку данного сбоя:

  • 401 Unauthorized;
  • Authorization Required;
  • HTTP Error 401 – Ошибка авторизации.

Попробуем разобраться с наиболее распространенными причинами возникновения данной ошибки кода HTTP-соединения и обсудим способы их решения.

Причины появления ошибки сервера 401 и способы ее устранения на стороне пользователя

При доступе к некоторым сайтам (или отдельным страницам этих сайтов), посетитель должен пройти определенные этапы получения прав:

  1. Идентификация – получение вашей учетной записи («identity») по username/login или email.
  2. Аутентификация («authentic») – проверка того, что вы знаете пароль от этой учетной записи.
  3. Авторизация – проверка вашей роли (статуса) в системе и решение о предоставлении доступа к запрошенной странице или ресурсу на определенных условиях.

Большинство пользователей сохраняют свои данные по умолчанию в истории браузеров, что позволяет быстро идентифицироваться на наиболее часто посещаемых страницах и синхронизировать настройки между устройствами. Данный способ удобен для серфинга в интернете, но может привести к проблемам с безопасностью доступа к конфиденциальной информации. При наличии большого количества авторизованных регистрационных данных к различным сайтам используйте надежный мастер-пароль, который закрывает доступ к сохраненной в браузере информации.

Наиболее распространенной причиной появления ошибки с кодом 401 для рядового пользователя является ввод неверных данных при посещении определенного ресурса. В этом и других случаях нужно попробовать сделать следующее:

  1. Проверьте в адресной строке правильность написания URL. Особенно это касается перехода на подстраницы сайта, требующие авторизации. Введите правильный адрес. Если переход на страницу осуществлялся после входа в аккаунт, разлогинитесь, вернитесь на главную страницу и произведите повторный вход с правильными учетными данными.
  2. При осуществлении входа с сохраненными данными пользователя и появлении ошибки сервера 401 проверьте их корректность в соответствующих настройках данного браузера. Возможно, авторизационные данные были вами изменены в другом браузере. Также можно очистить кэш, удалить cookies и повторить попытку входа. При удалении истории браузера или очистке кэша потребуется ручное введение логина и пароля для получения доступа. Если вы не помните пароль, пройдите процедуру восстановления, следуя инструкциям.
  3. Если вы считаете, что вводите правильные регистрационные данные, но не можете получить доступ к сайту, обратитесь к администратору ресурса. В этом случае лучше всего сделать скриншот проблемной страницы.
  4. Иногда блокировка происходит на стороне провайдера, что тоже приводит к отказу в доступе и появлению сообщения с кодировкой 401. Для проверки можно попробовать авторизоваться на том же ресурсе с альтернативного ip-адреса (например, используя VPN). При подтверждении блокировки трафика свяжитесь с провайдером и следуйте его инструкциям.

Некоторые крупные интернет-ресурсы с большим количеством подписчиков используют дополнительные настройки для обеспечения безопасности доступа. К примеру, ваш аккаунт может быть заблокирован при многократных попытках неудачной авторизации. Слишком частые попытки законнектиться могут быть восприняты как действия бота. В этом случае вы увидите соответствующее сообщение, но можете быть просто переадресованы на страницу с кодом 401. Свяжитесь с администратором сайта и решите проблему.

Иногда простая перезагрузка проблемной страницы, выход из текущей сессии или использование другого веб-браузера полностью решают проблему с 401 ошибкой авторизации.

Устранение ошибки 401 администратором веб-ресурса

Для владельцев сайтов, столкнувшихся с появлением ошибки отказа доступа 401, решить ее порою намного сложнее, чем обычному посетителю ресурса. Есть несколько рекомендаций, которые помогут в этом:

  • Обращение в службу поддержки хостинга сайта. Как и в случае возникновения проблем с провайдером, лучше всего подробно описать последовательность действий, приведших к появлению ошибки 401, приложить скриншот.
  • При отсутствии проблем на стороне хостинг-провайдера можно внести следующие изменения в настройки сайта с помощью строки Disallow:/адрес проблемной страницы. Запретить индексацию страницам с ошибкой в «rоbоts.txt», после чего добавить в файл «.htассеss» строку такого типа:

Где в поле /oldpage.html прописывается адрес проблемной страницы, а в http://site.com/newpage.html адрес страницы авторизации.

Таким образом вы перенаправите пользователей со всех страниц, которые выдают ошибку 401, на страницу начальной авторизации.

  • Если после выполнения предыдущих рекомендаций пользователи при попытках авторизации все равно видят ошибку 401, то найдите на сервере файл «php.ini» и увеличьте время жизни сессии, изменив значения следующих параметров: «session.gc_maxlifetime» и «session.cookie_lifetime» на 1440 и 0 соответственно.
  • Разработчики веб-ресурсов могут использовать более сложные методы авторизации и аутентификации доступа для создания дополнительной защиты по протоколу HTTP. Если устранить сбой простыми методами администрирования не удается, следует обратиться к специалистам, создававшим сайт, для внесения соответствующих изменений в код.

Хотя ошибка 401 и является проблемой на стороне клиента, ошибка пользователя на стороне сервера может привести к ложному требованию входа в систему. К примеру, сетевой администратор разрешит аутентификацию входа в систему всем пользователям, даже если это не требуется. В таком случае сообщение о несанкционированном доступе будет отображаться для всех, кто посещает сайт. Баг устраняется внесением соответствующих изменений в настройки.

Дополнительная информация об ошибке с кодом 401

Веб-серверы под управлением Microsoft IIS могут предоставить дополнительные данные об ошибке 401 Unauthorized в виде второго ряда цифр:

  • 401, 1 – войти не удалось;
  • 401, 2 – ошибка входа в систему из-за конфигурации сервера;
  • 401, 3 – несанкционированный доступ из-за ACL на ресурс;
  • 401, 501 – доступ запрещен: слишком много запросов с одного и того же клиентского IP; ограничение динамического IP-адреса – достигнут предел одновременных запросов и т.д.

Более подробную информацию об ошибке сервера 401 при использовании обычной проверки подлинности для подключения к веб-узлу, который размещен в службе MS IIS, смотрите здесь.

Следующие сообщения также являются ошибками на стороне клиента и относятся к 401 ошибке:

Как видим, появление ошибки авторизации 401 Unauthorized не является критичным для рядового посетителя сайта и чаще всего устраняется самыми простыми способами. В более сложной ситуации оказываются администраторы и владельцы интернет-ресурсов, но и они в 100% случаев разберутся с данным багом путем изменения настроек или корректировки html-кода с привлечением разработчика сайта.

Источник

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account


Closed

vuphuc2301 opened this issue

Jan 2, 2022

· 9 comments

Labels

1.x

1.0 related issues

Bug

Addressing a bug

Comments

@vuphuc2301

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I’m receiving the error «Returned error: Unknown Account» when trying to send approve request from my website on phone to metamask app using walletconnect

Expected Behavior

Metamask Popup and ask for confirmation

Steps to Reproduce

import Web3 from "web3";

const web3 = new Web3('https://bsc-dataseed1.binance.org:443');

const ABI = [
    {
        constant: false,
        inputs: [{ name: "_spender", type: "address" }, { name: "_value", type: "uint256" }],
        name: "approve",
        outputs: [{ "name": "", "type": "bool" }],
        payable: false, stateMutability: "nonpayable", type: "function"
    }
];

async function getApprovePermission() {
    const myContract = new web3.eth.Contract(ABI, '0xB8c77482e45F1F44dE1745F52C74426C631bDD52');
    const result = await myContract.methods.approve('contract address....', 100).send({
        from: '0x.....123'
    });

    return result
}

Web3.js Version

1.6.1

Environment

  • Operating System: IOS
  • Browser: Safari
  • Node.js Version: 16.5.0
  • NPM Version: 7.19.1

Anything Else?

No response

@kingsley-einstein

@nazarhussain

@vuhoangp Thanks for reaching to us. The error message with the prefix Returned error clearly means this is not an error generated by our library. Rather the error was returned from the provider node you are connected to as an error response.

I would suggest you to verify and debug once again within your code, there seems to an invalid account address used. You can also try to connect to some other provider to verify.

If you can’t figure out, then try to create a code which we can execute to reproduce the error. Because in general testing we may use different account addresses and your error may be related to those particular accounts.

@jdiegosierra

You have to use Metamask provider instead of node URL const web3 = new Web3(window.ethereum);

@williamjin127

You need to run this before making myContract variable.
web3.eth.setProvider(Web3.givenProvider);

@nazarhussain

@vuhoangp Hope the above comments would solved the problem.

As earlier explained in my comment, the error message mentions that the error is returned from the provider not the library.

I am closing the issue now, if you find any relevant information suggesting this issue relates to library, please re-open the issue.

@GeniusGeeek

You have to use Metamask provider instead of node URL const web3 = new Web3(window.ethereum);

How do you use metamask provider on mobile browser when metamask extension isn’t available on mobile? it will be undefined or null

@coffescript


1 similar comment

@mengz-h-e

@JayKCDev

@vuphuc2301 I see you’re nowhere signing the transaction (at least not visible in the shared code snippet) for every transaction you make you need to first generate a txHash. Without the transaction hash the indexing node will reject your transaction since every txHash mutatates the state if blockchain as a whole.

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I’m receiving the error «Returned error: Unknown Account» when trying to send approve request from my website on phone to metamask app using walletconnect

Expected Behavior

Metamask Popup and ask for confirmation

Steps to Reproduce

import Web3 from "web3";

const web3 = new Web3('https://bsc-dataseed1.binance.org:443');

const ABI = [
    {
        constant: false,
        inputs: [{ name: "_spender", type: "address" }, { name: "_value", type: "uint256" }],
        name: "approve",
        outputs: [{ "name": "", "type": "bool" }],
        payable: false, stateMutability: "nonpayable", type: "function"
    }
];

async function getApprovePermission() {
    const myContract = new web3.eth.Contract(ABI, '0xB8c77482e45F1F44dE1745F52C74426C631bDD52');
    const result = await myContract.methods.approve('contract address....', 100).send({
        from: '0x.....123'
    });

    return result
}

Web3.js Version

1.6.1

Environment

  • Operating System: IOS
  • Browser: Safari
  • Node.js Version: 16.5.0
  • NPM Version: 7.19.1

Anything Else?

No response

Labels

1.x

1.0 related issues

Bug

Addressing a bug

Ошибки 520, 521, 522, 524 могут появляться на сайте в том случае, если вы используете для своего сайта сервисы Cloudflare. Cloudflare — сервис, перенаправляющий трафик. Он позволяет увеличить скорость загрузки сайта и обеспечивает защиту от хакерских и DDoS-атак.

Ошибка 520 (Web server is returning an unknown error)

Если Cloudflare не удается обработать ответ сервера, на котором размещен сайт, то он выдает эту ошибку.

Причины появления ошибки 520

  1. Разрыв соединения, когда запрос к серверу был успешным.
  2. Превышение размера заголовка запроса (больше 8 КБ).
  3. Ответ сервера не содержит информацию.
  4. Ответ сервера некорректен.

Способы устранения ошибки 520 Web server is returning an unknown error

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

Правила ограничения скорости Cloudflare или другие запросы фильтрации иногда могут вызывать проблемы в работе сайта. Важно проверить и протестировать ваш сайт после подключения сервисов Cloudflare. Если на сервере хостинга используются системы безопасности, блокирующие запросы к сайту, обязательно укажите IP-адреса Cloudflare в белом списке, чтобы исключить вероятность блокировки запросов.

Список диапазонов IP-адресов Cloudflare

Ошибка 521 (Web Server Is Down)

Браузер показывает ошибку 521, когда веб-сервер неожиданно обрывает соединение с Cloudflare.

Причины появления ошибки 521

  1. Невозможно получить ответ от сервера.
  2. Система безопасности веб-сервера внесла запросы Cloudflare в черный список. Это связано с тем, что система работает по принципу обратного прокси-сервера. Ваша система безопасности могла принять периодические подключения от статических IP-адресов за DDoS-атаку. Из-за этого адреса блокируются или ограничиваются по скорости.

Способы устранения ошибки 521 Web Server Is Down

Возможно, веб-сервер отключен или работает с перебоями. В таком случае:

  1. Убедитесь, что ваш веб-сервер работает нормально.
  2. Просмотрите журналы ошибок сервера, чтобы выявить причину ошибки.

Если веб-сервер или хостинг-провайдер блокируют запросы Cloudflare, внесите в белый список все диапазоны IP-адресов сервиса в брандмауэре сервера или другом программном обеспечении безопасности.

Ошибка 522 (Connection timed out)

Появляется в случае, когда превышено время ожидания ответа от веб-сервера.

Причины появления ошибки 522

  1. Веб-сервер не может ответить на запрос из-за высокой загруженности.
  2. Система защиты веб-сервера блокирует запросы Cloudflare.
  3. Нет доступа к веб-серверу.
  4. Некорректно указаны настройки DNS на Cloudflare: запросы отправляются по другому адресу.

  5. Неверная настройка маршрутизации между Cloudflare и веб-сервером.

Способы устранения ошибки 522 Connection timed out

Убедитесь, что:

  1. IP-адреса Cloudflare не блокируются в брандмауэре.
  2. Ваш хостинг-провайдер не ограничивает скорость и не блокирует запросы от Cloudflare.
  3. Веб-сервер не перегружен.

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

Ошибка 524 (A timeout occurred)

Браузер покажет эту страницу, когда подключение к веб-серверу будет установлено, но его ответ превысит лимит ожидания. Cloudflare ожидает HTTP-ответ в течение 100 секунд.

Причины появления ошибки 524

  1. Проблемы в работе PHP-скриптов или сбой базы данных.
  2. Высокая загруженность веб-сервера.

Способы устранения ошибки 524 A timeout occurred

Проверьте доступные ресурсы веб-сервера, включая процессор, оперативную память и общий уровень трафика. Высокий уровень использования памяти память или высокая загрузка процессора могут сигнализировать о проблеме с ресурсами.

Если вы регулярно отправляете HTTP-запросы, выполнение которых занимает более 100 секунд (например, экспорт больших данных), рассмотрите возможность перемещения этих длительных процессов в поддомен, который не проксируется Cloudflare.

Служба поддержки RU-CENTER не оказывает техническую поддержку по сервису Cloudflare. Для устранения ошибок, пожалуйста, обратитесь в техническую поддержку Cloudflare. Если неполадки в работе сайта связаны с хостингом RU-CENTER, пожалуйста, отправьте заявку в нашу службу технической поддержки.

  Туториал: как исправить ошибки сервера

Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.

Где и когда можно встретить ошибку 500

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

Ошибка 500 говорит о том, что сервер не может обработать запрос к сайту, на странице которого вы находитесь. При этом браузер не может точно сообщить, что именно пошло не так. 

Отображаться ошибка может по-разному. Вот пример:

Ошибка 500

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

Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Причины возникновения ошибки

Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.

Основной причиной ошибки 500 может быть:

  1. Неверный синтаксис файла .htaccesshtaccess – это файл, в котором можно задавать настройки для работы с веб-сервером Apache и вносить изменения в работу сайта (управлять различными перенаправлениями, правами доступа к файлам, опциями PHP, задавать собственные страницы ошибок и т.д.). 
    Узнать больше о файле .htaccess можно в статье «Создание и настройка .htaccess».
  2. Ошибки в скриптах сайта, то есть сценариях, созданных для автоматического выполнения задач или для расширения функционала сайта.
  3. Нехватка оперативной памяти при выполнении скрипта.
  4. Ошибки в коде CMS, системы управления содержимым сайта. В 80% случаев виноваты конфликтующие плагины. 

Год хостинга в подарок при заказе лицензии 1С-Битрикс

Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.

Заказать

Как получить больше данных о причине ошибки 

Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.

Отображение ошибки бывает разным. Ее внешний облик зависит от того, чем она вызвана.

Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы. 

  1. Сообщение Internal Server Error говорит о том, что есть проблемы с файлом .htaccess (например, виновата некорректная настройка файла). Убедиться, что .htaccess является корнем проблемы, поможет следующий прием: переименуйте файл .htaccess, добавив единицу в конце названия. Это можно сделать с помощью FTP-клиента (например, FileZilla) или файлового менеджера на вашем хостинге (в Timeweb такой есть, с ним довольно удобно работать). После изменения проверьте доступность сайта. Если ошибка больше не наблюдается, вы нашли причину.
  2. Сообщение HTTP ERROR 500 или пустая страница говорит о проблемах со скриптами сайта. В случае с пустой страницей стоит учесть, что отсутствие содержимого сайта не всегда указывает на внутреннюю ошибку сервера 500.

Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.). 

Как открыть панель разработчика

  • Нажмите клавишу F12 (способ актуален для большинства браузеров на Windows). Используйте сочетание клавиш Cmd+Opt+J, если используете Google Chrome на macOS. Или примените комбинацию Cmd+Opt+C в случае Safari на macOS (но перед этим включите «Меню разработки» в разделе «Настройки» -> «Продвинутые»). Открыть инструменты разработчика также можно, если кликнуть правой кнопкой мыши в любом месте веб-страницы и выбрать «Просмотреть код» в контекстном меню. 
  • Откройте вкладку «Сеть» (или «Network») и взгляните на число в поле «Статус». Код ответа об ошибке 500 — это соответствующая цифра.

Причины ошибки 500Более детальную диагностику можно провести с помощью логов.

Простыми словами: лог — это журнал, в который записывается информация об ошибках, запросах к серверу, подключениях к серверу, действиях с файлами и т.д.

Как вы видите, данных в логи записывается немало, поэтому они разделены по типам. За сведениями о нашей ошибке можно обратиться к логам ошибок (error_log). Обычно такие логи предоставляет служба поддержки хостинга, на котором размещен сайт. В Timeweb вы можете включить ведение логов и заказать необходимые данные в панели управления. Разобраться в полученных логах поможет статья «Чтение логов».

Как устранить ошибку

Теперь поговорим о том, как исправить ошибку 500. Вернемся к популярным причинам этой проблемы и рассмотрим наиболее эффективные способы решения.

Ошибки в файле .htaccess

У этого файла довольно строгий синтаксис, поэтому неверно написанные директивы (команды) могут привести к ошибке. Попробуйте поочередно удалить команды, добавленные последними, и проверьте работу сайта. 
Также найти проблемную директиву можно с помощью логов ошибок (через те же инструменты разработчика в браузере). На ошибку в директиве обычно указывает фраза «Invalid command». Информацию о верном написании директивы или способе исправления ошибок в .htaccess вы можете найти в интернете. Не нужно искать, почему сервер выдает ошибку 500, просто введите в строку поиска название нужной команды или текст ошибки из логов.

Ошибки в скриптах сайта

Скрипт не запускается

Обычно это происходит, когда существует ошибка в скрипте или функция, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете. 

Не хватает оперативной памяти

Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.

Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность купить хостинг помощнее.

Ошибки в CMS

Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо есть ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.

При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.

Ошибка 500 из-за плагинов ВордпрессТакже в большинстве случаев подобные проблемы помогает решить поддержка CMS.

Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».

Удачи! 

Понравилась статья? Поделить с друзьями:
  • Error return statement with a value in function returning void fpermissive
  • Error retrieving settings from server valorant
  • Error retrieving network interface
  • Error retrieving information from server df dferh 01 что делать
  • Error retrieving database metadata