Альберт Ушаков, повторюсь для непонятливых: приведённый вами вариант делает именно так, как вы просите. Пользователь запрашивает domain1.ru, и в ответ получает содержимое (не URL, а именно HTML!) страницы domain2.ru/?id=0000. Больше добавить в конфиг и нечего...
Tech, хех, я понимаю, этот код использовал бы заголовок X-Forwarded-Proto... А так, то, что сделано в этом коде - это полный треш и угар: "если запрос пришёл с reverse proxy или обычного proxy - считаем сайт HTTPS-ным". Серьёзно? Эти программисты уже испортились, несите новых!
И этот код не сообщает браузеру про то, что браузер и так знает, нет. Он заставляет скрипты WP генерировать все URL на его страницах с https:// протоколом, вот и всё.
А в WinterCMS надо в обязательный для всех файл типа config.php или functions.php дописать
if (!empty($_SERVER['X-Forwarded-Proto']) AND $_SERVER['X-Forwarded-Proto'] == "https") {
$_SERVER['HTTPS'] = "on";
}
Но сработает только если $_SERVER['HTTPS'] действительно используется в коде при генерации URL-ов.
Михаил, если добавите SNAT - можно будет и сейчас, но все пришедшие коннекты будут с IP Микротика, что совсем не секьюрно. Это если я прав по поводу firewall и только локальной сети.
Господи, сколько боли от неправильно придуманной задачи... Просто разнесите VM-ки на разные IP, и всё. VM-ки должны отличаться даже от IP самого Windows Server-а, ну!
Учитывая, что метрики сейчас пляшут от JavaScript (который просто добавляет на страницу элемент с картинкой, которую браузер качает и показывает, если нет AdBlock-а трекеров)... Индексные боты же вообще JS-ом не заморачиваются, не?
Лучше настройте slow query в MySQL-е, в частности их логирование. И смотрите/оптимизируйте/кэшируйте самые тяжёлые SQL запросы, самые долгие HTTP запросы, вот это вот всё непотребство...
Вполне возможно срабатывает защита от парсинга. Для проверки повторите парсинг одной и той же страницы 10 раз подряд, с проверкой всех 23 ссылок. Если все 10 повторов буду недоступны одни и те же ссылки - значит на этих ссылках срабатывает защита по какому-то другому принципу, неправильные заголовки например...
Кнопка POWER должна включать, именно для этого она предназначена. Если не работает - можно подключиться к обычному SC Mgmt Port, RJ45 справа от SC Serial Port. С помощью tcpdump или чего аналогичного можно подсмотреть, какой IP на этой сетевушке прибит, и открыть WEB-морду IPMI-системы этого сервера. Она должна работать даже при выключенном сервере, она работает отдельно от основного процессора/BIOS-а. Но без пароля в IPMI не войдёшь... А войдя, можно посмотреть проблемы/ошибки железа. И включать там тоже можно.
evelone1379, а как вы исполните этот код, если в нём отсутствует определение curlGetPage(), используемого в этом же скрипте? И сервер MySQL у вас установлен, запущен, пользователь в нём настроен, база данных с таблицами создана?
Ипатьев, всётаки у print_r() вывод массивов поприятнее глазу, в сравнении с var_dump(). И не всегда при дебаге обязательно видеть тип данных.
Хотя конечно... Вот буквально вчера 15 минут боролся с неожиданным глюком в скрипте, пока не добрался до сравнения на идентичность ===. Оба на, сам же так писал! Пришлось править обработку данных из командной строки.