Перенаправить на https, если URL-адрес указывает на другой веб-сервер с помощью proxypass - PullRequest
0 голосов
/ 19 января 2019

Мне нужна помощь по поводу конфигурации.У меня есть .htaccess для моего веб-сервера внешнего интерфейса, который настроен так:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/?(dir_a|dir_b|dir_c)
RewriteCond %{QUERY_STRING} !^/?(dir_a|dir_b|dir_c)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]    
DirectoryIndex index.php

Таким образом, dir_a, dir_b и dir_c, которые находятся на внешнем сервере, не перенаправляются на https.Все на внешнем сервере правильно перенаправляется на https, если https пропущен, или использует http, когда кто-то вводит URL моего сайта.Этого не происходит для местоположения, указывающего на внутренний веб-сервер, то есть в моем apache2.conf:

<VirtualHost *:443>
  ...
  ServerName example.com
  SSLEngine on
  SSLProxyEngine On
  ...
</VirtualHost>
...
<Location /backsrvdir>
  SSLRequireSSL
  ProxyPass http://192.168.x.y/backsrvdir
  ProxyPassReverse http://192.168.x.y/backsrvdir
</Location>

В backsrvdir у меня есть другой .htaccess с его DirectoryIndex bsindex.php.Это работает только в том случае, если ссылка уже содержит https :, поэтому, если я пишу или нажимаю https://example.com/backsrvdir, это нормально, если опустить https: или используя http: внешний сервер отвечает «403 Запрещено: у вас нетразрешение на доступ к / backsrvdir / на этом сервере. Apache / 2.2.22 (Debian) Сервер на example.com Порт 80 ".Как я уже говорил выше, порт 80 открыт только для dir_a dir_b и dir_c.Любая идея, чтобы решить проблему и перенаправить http://example.com/backsrvdir на https://example.com/backsrvdir? Заранее спасибо.

1 Ответ

0 голосов
/ 20 января 2019

Попробуйте что-то вроде этого:

<VirtualHost *:80>
  ...
  Redirect permanent /backsrvdir https://example.com/backsrvdir
  # Remove the other 3 lines:
  # SSLRequireSSL
  # ProxyPass http://192.168.x.y/backsrvdir
  # ProxyPassReverse http://192.168.x.y/backsrvdir
  ...
</VirtualHost>

Также удалите все, что связано с перенаправлением https с .htaccess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...