Конфигурация Apache для представления нескольких локальных http-сайтов в качестве одного публичного https-сайта - PullRequest
0 голосов
/ 03 марта 2011

Я уверен, что есть простое решение - но я ударился головой о документацию Apache за то, что кажется вечным ... возможно, кто-то может дать мне подсказку?

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

Я хочу открыть эти веб-сайты через https, но у меня есть доступ только кодин подходящий IP-адрес - что делает желательным сопоставление пути / app1 / с внутренним сайтом с именем хоста app1 - и путь / app2 / с внутренним сайтом с именем хоста app2 - и это моя цель.

Я пытался играть с «Apache Module mod_proxy» - и я пробовал различные комбинации ProxyPass, ProxyPassReverse и разделов - все с одной и той же проблемой.Сайт на http://app1.example.com/ содержит страницы, которые ссылаются на uris в форме "/submit.php" и "/base.css" - которые работают относительно схемы множественного http-сайта - но ошибочны в общедоступных httpsсхема, в которой должно быть несколько корней, идентифицируемых префиксом пути в общедоступном URI.

Как лучше всего обеспечить правильность перевода этих URI?Подходит ли mod_proxy для такого рода задач?

Ответы [ 2 ]

0 голосов
/ 03 марта 2011

В случае, если это помогает другим людям ...

Мое возможное решение состояло в том, чтобы использовать mod_proxy для пересылки запросов от сервера SSL на мои внутренние серверы ... но, по разным причинам, это оказываетсягораздо проще перевести URI на отдельную стадию, где размещаются внутренние серверы.Я использовал mod_rewrite, чтобы убрать префикс пути - и он прекрасно работает.

Жаль, что нет очевидного способа сделать это в конфигурации сервера SSL (пожалуйста, исправьте меня, если я только что пропустилэто), и я потратил много времени на поиск mod_html_proxy - который был довольно строг в отношении HTML, который он переводил.В любом случае предпочтительнее перевести выбранные URI в Apache, чем заставить Apache переводить целые документы.

0 голосов
/ 03 марта 2011

Вам нужен SNI, идентификация имени сервера.

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

Вот учебник, techrepublic , удачи.

...