Есть проект django, сервер apache2, система Ubuntu18.04, в проекте js скрипт, из которого нужно отправить POST-запрос в php скрипт на локальном сервере. Присвоил айпишнику 127.0.0.1 домен myserver.com в /etc/hosts, настроил в апаче корневую папку /web. Но попытка отправить запрос на сервер приводит к ошибке
POST http://myserver.com/script/ net::ERR_NAME_NOT_RESOLVED
Если вместо домена поставить адрес локалхоста, то данная ошибка не возникает, но возникает ошибка CORS:
POST http://localhost/script/ 404 (Not Found)
Access to XMLHttpRequest at 'http://localhost/script/' from origin 'http://site.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Но на моем компе на винде при таких же настройках все прекрасно работает.
script.js:
sendMail: function (formid) {
var formId = "#" + formid;
var fd = new FormData(document.querySelector(formId));
var url = 'http://myserver.com/script/';
$.ajax({
url: url,
type: "POST",
data: fd,
cache: true,
processData: false,
contentType: false,
beforeSend: function () {
...
index.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>myserver</title>
</head>
<body>
<h2>myserver</h2>
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: *");
require_once 'script.php';
?>
</body>
</html>
var url = '/script/index.php';
Лучше всего url - делать "Относительные ссылки к файлам", и тогда при переносе сайта с одного сервера к другому, ничего меняться не будет.
А все до безобразия банально. Клиентский js естественно стучится на локальный хост клиента, а не сайта, и естественно ничего там не видит. Отсюда и все ошибки. Надо сначала передать запрос на сайт, а уже из сайта - на локальный сервер. Либо вешать серверу белый айпишник.
Виртуальный выделенный сервер (VDS) становится отличным выбором
При создании zip архива в том же каталоге нет никаких ошибок, но архив не создаетсяВ php
Язык PHP, Фреймворк Yii2, бд MySQLНо по сути это не важно, вопрос по организации запроса данных
Настраиваю мультиязычность на Yii2 BasicХочу в сессии хранить язык интерфейса, выбранный пользователем