HTTP POST-запрос заблокирован от внешних клиентов - PullRequest
0 голосов
/ 12 февраля 2019

Я использую сервер чероки на RaspberryPi для размещения интерактивной игры.При вызове из внутренней WLAN все работает нормально.Однако воспроизведение с внешнего клиента не работает.Проблема в том, что HTTP-запрос с методом POST блокируется при поступлении из внешнего мира.

Чтобы продемонстрировать эффект, я сделал следующий test.php:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Test GET - POST</title> <meta charset="UTF-8"> </head> <body> <h3>Output</h3> <p> <?php if (isset($_GET['call'])) { $call = $_GET['call']; echo "GET: " . $call; } if (isset($_POST['call'])) { $call = $_POST['call']; echo "POST: " . $call; } ?> </p> <h3>Input</h3> <p/> <form action="#" method="GET"> GET: <input type="text" name="call" value="Hello!"/> <input type="submit" value = "Send GET"/> </form> <p/> <form action="#" method="POST"> POST: <input type="text" name="call" value="Hi there!"/> <input type="submit" value = "Send POST"/> </form> </body> </html>

При вызове изнутри WLAN, нажимая кнопки отправкиоба работают как надо.Однако при вызове из Интернета «Send GET» работает, как и раньше, но «Send POST» завершается с ошибкой HTTP 500. В «Send POST» журнал доступа Cherokee просто сообщает о HEAD-запросе, но не POST-запросе,Это проблема с настройкой Cherokee или межсетевой экран взаимодействует?Есть идеи?

...