Jump to content

Question

Posted

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

Требуется обеспечить доступ к двум сайтам (web-приложениям), находящимся на веб-сервере в локальной сети

Имеем:
1) Динамический белый IP адрес от Ростелекома
2) Зарегистрированное и работающее доменное имя в системе KeenDNS: dom.keenetic.link
3) Роутер Keenetic Viva (KN-1910) под управлением Keenetic OS 3.7 Beta 2
4) На роутере назначен доступ из Интернет к веб-приложениям домашней сети site1.dom.keenetic.link и site2.dom.keenetic.link. Оба приложения перенаправляются на порт 80 внутреннего веб-сервера в локальной сети с IP 192.168.1.11
5) Веб-сервер 192.168.1.11 работает под управлением Apache, на котором настроено два виртуальных хоста site1.dom.keenetic.link и site2.dom.keenetic.link (VirtualHost *:80, ServerName site1.dom.keenetic.link, DocumentRoot /var/www/site1 и аналогично для site2)

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

Проблема: веб сервер не различает обращения, приходящие из Интернета на site1.dom.keenetic.link и site2.dom.keenetic.link и всегда направляет их на первый зарегистрированный виртуальный хост.

Я предполагаю, что Keenetic не передает на веб-сервер имя домена site1.dom.keenetic.link или site2.dom.keenetic.link. Поэтому веб-сервер их не различает.

Помогите, пожалуйста решить проблему! Может я что-то не так делаю?

9 answers to this question

Recommended Posts

  • 0
Posted

1. А промежуточный роутер, это что? Коробка от Ростелекома в режиме моста?

2. Вы ставили один Кинетик и всё работает норм?

3. Если 2 - ДА, то может Ростелеком в режиме моста шалит?

  • 0
Posted

У меня есть сайты на хостинге, где виртуальная машина подключена к Интернет напрямую с белым IP. Все виртуальные хосты работают корректно.

Но в данном случае между Интернетом и веб-сервером есть промежуточный роутер Keenertic, который работает через KeenDNS. При этом использованная на другом сервере конфигурация виртуальных хостов не срабатывает.

Технически все работает отлично, поэтому к Ростелекому претензий быть не должно.

Единственная неприятность - запросы к разным сайтам site1.dom.keenetic.link и site2.dom.keenetic.link через KeenDNS и Keenetiс Viva попадают на web-сервер не в свои каталоги, а в каталог по умолчанию, который должен срабатывать, если адрес сайта не определен.

Поэтому я предполагаю, что через KeenDNS и Keenetiс Viva на веб-сервер не приходит правильная информация об адресе запрашиваемого сайта. 

  • 0
Posted (edited)

1. А промежуточный роутер, это что? Коробка от Ростелекома в режиме моста? - Это Keenetic Viva в цепочке Интернет -> KeenDNS -> Keenetic Viva -> web-сервер

2. Вы ставили один Кинетик и всё работает норм? - На другом сервере с постоянным белым IP, по схеме Интернет -> web-сервер (без Keenetic'а ) все работает

Сам Keenetic тоже исправный, работает уже продолжительное время

Edited by Никита Валентинович Корняков
  • 0
Posted

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

Я не слишком разбирал этот механизм.

А если шарком дампы снять, то модет там посмотреть, что прилетает?

  • 0
Posted
12 часа назад, Никита Валентинович Корняков сказал:

Проблема: веб сервер не различает обращения, приходящие из Интернета на site1.dom.keenetic.link и site2.dom.keenetic.link и всегда направляет их на первый зарегистрированный виртуальный хост.

(config)> ip http proxy site1 preserve-host
(config)> ip http proxy site2 preserve-host
(config)> system configuration save

 

  • 0
Posted

Это не мысль, это так работает.

Host принудительно перезаписывается в адрес роутера (модемы и всякие китайские приблуды очень нелюбят когда в Host что-то осмысленное и не из сети локалки).

Но это можно выключить через preserve-host.

  • 0
Posted
8 часов назад, Никита Валентинович Корняков сказал:

Обратный прокси? Была такая мысль. Надо попробовать

Вы уже используете обратный прокси на роутере. "На роутере назначен доступ из Интернет к веб-приложениям домашней сети site1.dom.keenetic.link и site2.dom.keenetic.link" - это оно и есть. Вам лишь нужно прописать вышеприведённые команды в cli роутера, чтобы заголовок "host" не перезаписывался.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...