Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: artful от 29 Декабря 2020, 12:40:13



Название: Проблеми з HTTPS
Отправлено: artful от 29 Декабря 2020, 12:40:13
Усім привіт!
Після переключення доступу до адмінки з ІР на домен + https, деякі посилання продовжують відкриватися по http. Через це в браузері blocked:mixed-content
Урл з https вказав в htdocs/index.html. Можливо потрібно ще десь вказати? Можливо хтось стикався з таким?
Це відтворюється коли на головній сторінці в полі пошуку вводити символи. Пошук не спрацьовує а в консолі браузера помилки blocked:mixed-content
Теж саме коли створювати, перейменовувати, видаляти в розділі "Документи".


Название: Re: Проблеми з HTTPS
Отправлено: Redmen от 29 Декабря 2020, 13:47:54
мій htdocs/index.html
помилок немає
Код:
<html>
<head>
 <meta http-equiv="refresh" content="0; URL=/cgi-bin/stat.pl">
</head>
<body>
 <a href='/cgi-bin/stat.pl'>Statistica</a>
</body>
</html>


Название: Re: Проблеми з HTTPS
Отправлено: artful от 29 Декабря 2020, 14:09:53
мій htdocs/index.html
помилок немає
Код:
<html>
<head>
 <meta http-equiv="refresh" content="0; URL=/cgi-bin/stat.pl">
</head>
<body>
 <a href='/cgi-bin/stat.pl'>Statistica</a>
</body>
</html>

Підкинув собі, нажаль не допомогло  (


Название: Re: Проблеми з HTTPS
Отправлено: artful от 29 Декабря 2020, 18:08:20
Знайшов де знаходиться причина
На символ "_" не звертайте увагу
web/calls.pm
Код:
$ses::http_prefix = $ENV{HTTPS} || $ENV{HTTP_X_FORWARDED_PROTOCOL} =~ /h_ttps/i? 'h_ttps://' : 'h_ttp://';

Якщо в рядку 'http' змінити на 'https' то все ок починає працювати
Код:
$ses::http_prefix = $ENV{HTTPS} || $ENV{HTTP_X_FORWARDED_PROTOCOL} =~ /h_ttps/i? 'h_ttps://' : 'h_ttps://';

Apache на порті 81 і на фронті nginx прокся на портах 80 і 443 з ssl сертифікатами. Обидва в докері.
В nginx прописано:
Код:
    location / {
        proxy_pass h_ttp://apache:81;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

Схоже HTTP_X_FORWARDED_PROTOCOL не береться з веб сервера

Також пробував задавати різні змінні оточення в контейнері з apache, але не спрацьовує:
Код:
HTTP_X_FORWARDED_PROTOCOL="https"
HTTP_X_FORWARDED_PROTOCOL="h_ttps://"
HTTPS="1"
HTTPS="h_ttps://"

Не вийшло вирішити без зміни web/calls.pm


Название: Re: Проблеми з HTTPS
Отправлено: Efendy от 29 Декабря 2020, 18:26:38
Попробуй:
Код:
proxy_set_header   X-Forwarded-Protocol https;


Название: Re: Проблеми з HTTPS
Отправлено: artful от 29 Декабря 2020, 18:54:28
Попробуй:
Код:
proxy_set_header   X-Forwarded-Protocol https;

допомогло )
також працює
Код:
proxy_set_header X-Forwarded-Protocol $scheme;

а можна в коді змінити HTTP_X_FORWARDED_PROTOCOL на HTTP_X_FORWARDED_PROTO ?
зазвичай використовується X-Forwarded-Proto або додати перевірку змінної HTTP_X_FORWARDED_PROTO


Название: Re: Проблеми з HTTPS
Отправлено: Efendy от 29 Декабря 2020, 22:04:16
Добавлю оба, если любой будет определен, будет браться он. Версия плюс или некст?


Название: Re: Проблеми з HTTPS
Отправлено: artful от 30 Декабря 2020, 09:06:16
Добавлю оба, если любой будет определен, будет браться он. Версия плюс или некст?

Версія Плюс.
Дякую!