Я использую сервер чероки на 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 или межсетевой экран взаимодействует?Есть идеи?