Рейтинг:0

Apache2 за NGINX: MOD_REWRITE работает только без HTTPS

флаг mx

Несколько дней не могу решить следующую проблему:

У нас есть приложение (Faveo), в котором есть два требования для прохождения мастера установки:

HTTPS и MOD_REWRITE.

Faveo работает на Apache2 с ReverseProxy перед ним в нашей демилитаризованной зоне.


Если я запущу наш ReverseProxy с помощью простого

место расположения / {
          прокси_пароль http://XXX.XXX.XXX.XXX;
}

mod_rewrite (который включен Apache-Side, который обслуживает Faveo) кажется работай и Faveo-Wizard станет зеленым.

Однако - Приложение нет подается с HTTPS.

Поэтому я не могу нажать «Продолжить»: Нажми на меня! (http; mod_rewrite)


Если я сейчас переберу следующие аргументы:

место расположения / {
          прокси_пароль http://xxx.xxx.xxx.xxx;

          proxy_set_header X-Real-IP $remote_addr;
          хост proxy_set_header $http_host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Фавео теперь называется с HTTPS, но mod_rewrite не работает в этот раз: Нажми на меня! (HTTPS; без mod_rewrite) Это также не позволяет нажать «Продолжить».

У тебя есть идеи? Как я могу передать HTTPS в Apache и по-прежнему иметь возможность использовать mod_rewrite на стороне Apache?

NGINX-конфигурация:

сервер {
        слушать 80;
        имя_сервера helpdesk.someurl.de;
        вернуть 301 https://$server_name$request_uri;
}

сервер {
        слушать 443 ssl http2;
        ssl_протоколы TLSv1.2;
        имя_сервера helpdesk.someurl.de;

        # Включить SSL
        SSL включен;
        ssl_certificate /etc/letsencrypt/live/someurl.de/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/someurl.de/privkey.pem;

        client_max_body_size 50M;
        ssl_session_timeout 5 м;

        # Установить глобальные настройки прокси
        proxy_read_timeout 360;

       место расположения / {
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header Хост $http_host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          прокси_пароль http://XXX.XXX.XXX.XXX/;
        }

        error_log /var/log/nginx/helpdesk-ssl-error.log;
        журнал_доступа /var/log/nginx/helpdesk-ssl-access.log;
}

Апач2:

<VirtualHost *:80>
    ServerName helpdesk.someurl.de

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/faveo/public

    <Directory /var/www/faveo/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Если я сейчас удалю

proxy_set_header Хост $http_host;

Из NGINX-Config HTTPS отключен, но mod_rewrite работает.

Если он включен, я получаю HTTPS, но не mod_rewrite.

vidarlo avatar
флаг ar
Вы также должны настроить Nginx для приема TLS-соединений.
HeadKnockr avatar
флаг mx
@vidarlo Вы имеете в виду добавление `ssl_protocols TLSv1.2 TLSv1.3;` в конфигурацию NGINX?
djdomi avatar
флаг za
пожалуйста, поделитесь полной конфигурацией apache и nginx, иначе этот вопрос на данный момент не по теме
HeadKnockr avatar
флаг mx
@djdomi Готово! :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.