Onion проблемка

tanvirmr105

Проверенные
Сообщения
26
Реакции
0
Баллы
16
Добрый вечер господа. У меня набрякла 1 маленькая проблемка и к сожалению не понимаю как её решить.


У меня реверс прокси с онион ссылок (отдельный впс) на основу стоит, вроде как всё хорошо работает, кроме 2х мест.
1 - это регистрация
2 - выход с аккаунта на форуме.
Почему-то вместо http , меня автоматом на https перебрасывает именно на этих страницах и вылезает ошибка

1753741092600.png

Канонические URL-адреса для форума выключены

torrc :
Код:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

src/config :
Код:
<?php

if (!empty($_SERVER['HTTP_X_FORWARDED_HOST'])) {
    $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
}
if (isset($_SERVER['HTTPS'])) {
    unset($_SERVER['HTTPS']);
}
if (substr($_SERVER['HTTP_HOST'], -6) === '.onion') {
    // Для .onion – только HTTP
    $_SERVER['HTTPS']             = 'off';
    $_SERVER['REQUEST_SCHEME']    = 'http';
    $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'http';
} else {
    // Для остальных – только HTTPS
    $_SERVER['HTTPS']             = 'on';
    $_SERVER['REQUEST_SCHEME']    = 'https';
    $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
}
$config['db']['host'] = '';
$config['db']['port'] = '';
$config['db']['username'] = '';
$config['db']['password'] = ';
$config['db']['dbname'] = ';
$config['enableReverseProxy'] = true;
$config['reverseProxyIp']      = ['127.0.0.1'];

$host   = $_SERVER['HTTP_HOST'];
$scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
            ? 'https'
            : 'http';
$base   = $scheme . '://' . $host;

$config['boardUrl']          = $base;
$config['fullBaseUrl']       = $base;
$config['fullBaseUrlTrusted']= ['.*'];
$config['fullUnicode']                 = true;
$config['enableAddOnArchiveInstaller'] = true;
//$config['development']['enabled']     = true;
$config['enableTfa']                   = false;



etc/nginex/config:

Код:
server {
    listen 127.0.0.1:80 default_server;
    server_name
      ....onion
      ....onion
      …;

    add_header Strict-Transport-Security "max-age=0";

    location / {
        proxy_pass            https://site.com;
        proxy_ssl_server_name on;
        proxy_ssl_name        bfd.cx;
        proxy_ssl_verify      off;

        proxy_set_header   Host              site.com;
        proxy_set_header   X-Forwarded-Host  $host;
        proxy_set_header   X-Forwarded-Proto http;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;

        
        proxy_redirect     https://site.com/   http://$host/;
    }
}


Дайте какой-то совет, что куда-как лучше, 2й день голову ламаю.
 
1. Привести в порядок конфиг.срц, и выкинуть мусор:
PHP:
<?php

$config['db']['host'] = '';
$config['db']['port'] = '';
$config['db']['username'] = '';
$config['db']['password'] = '';
$config['db']['dbname'] = '';

$config['fullUnicode']                 = true;
$config['enableAddOnArchiveInstaller'] = true;
//$config['development']['enabled']     = true;
$config['enableTfa']                   = false;

2. В настройках форума:
Поле boardUrl лучше указать из клирнета
Галочку boardUrlCanonical снять

3. Разделить конфиги сайта онион и клирнета.
Клирнетовский настроить под клирнет по предпочтениям.
В онион версии:
Воспользоваться для замены ссылок на лету
Убрать упоминания SSL и HTTPS (в т.ч Strict-Transport-Security, именно этот хедер требует от бразуера перейти на хттпс)
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу