Bug 52374 - Не работает виджет Yandex погода при настройке proxy squid с авторизацией через ЦУС
Summary: Не работает виджет Yandex погода при настройке proxy squid с авторизацией чер...
Status: REOPENED
Alias: None
Product: Sisyphus
Classification: Development
Component: alt-identify-client (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Олег Соловьев
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-09 11:30 MSK by Murat
Modified: 2025-01-10 12:09 MSK (History)
2 users (show)

See Also:


Attachments
Скрин виджета (182.43 KB, image/png)
2024-12-09 15:18 MSK, Murat
no flags Details
Настройка прокси через ЦУС (104.10 KB, image/png)
2024-12-10 15:35 MSK, Osmolovskaya Anastasia
no flags Details
Настройка прокси через параметры системы (119.16 KB, image/png)
2024-12-10 15:36 MSK, Osmolovskaya Anastasia
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Murat 2024-12-09 11:30:34 MSK
Не работает виджет Yandex погода при настройке proxy squid с авторизацией по учётным записям Active Directory (с использованием libsasl2-plugin-gssapi), поднимал тестовые стенды, без авторизации никаких проблем нет, все замечательно работает. С авторизацией, даже с добавлением адреса 176.12.98.75 в исключения не хочет.
Comment 1 Osmolovskaya Anastasia 2024-12-09 13:16:13 MSK
Добрый день! 

Проверила работу kde5-plasma-addon-alt-weather-1.0.25-alt2.x86_64 при настроенном proxy squid с авторизацией - не удалось обнаружить каких-либо проблем. 

Не могли бы чуть подробнее рассказать о своих стендах, предоставив вывод следующих команд: 
$ uname -a
$ cat /etc/os-release
$ apt-repo
$ rpm -qa | grep kde5-plasma-addon-alt-weather
$ rpm -qa | grep squid
$ rpm -qa | grep libsasl2-plugin-gssapi

И детальнее описать шаги для воспроизведения вашей проблемы? 
1) Описать настройки вашего сервера squid
2) Описать настройки клиента
3) Описать, что именно не работает в виджете: некорректные данные/данные отсутствую/виджет зависает/и т.д
Comment 2 Murat 2024-12-09 15:18:01 MSK
Created attachment 17355 [details]
Скрин виджета
Comment 3 Alexander Makeenkov 2024-12-09 15:30:04 MSK
(Ответ для Murat на комментарий #2)
> Создано вложение 17355 [details] [подробности]
> Скрин виджета

Это не всё, что вас попросили предоставить в предыдущем комментарии.

Нам не удаётся воспроизвести данную проблему.

Вам уже писали, что стоит сделать https://bugzilla.altlinux.org/show_bug.cgi?id=49568#c10

Обратитесь, пожалуйста, в техподдержку.
Comment 4 Murat 2024-12-09 15:48:15 MSK
(Ответ для Osmolovskaya Anastasia на комментарий #1)
> Добрый день! 
> 
> Проверила работу kde5-plasma-addon-alt-weather-1.0.25-alt2.x86_64 при
> настроенном proxy squid с авторизацией - не удалось обнаружить каких-либо
> проблем. 
> 
> Не могли бы чуть подробнее рассказать о своих стендах, предоставив вывод
> следующих команд: 
> $ uname -a
Linux alt-kwks.diplomnaya.alt 6.1.113-un-def-alt1 #1 SMP PREEMPT_DYNAMIC Thu Oct 17 21:19:03 UTC 2024 x86_64 GNU/Linux
> $ cat /etc/os-release
NAME="ALT"
VERSION="10.4"
ID=altlinux
LOGO="basealt"
VERSION_ID=10.4
PRETTY_NAME="ALT Workstation K 10.4 (Sorbaronia Mitschurinii)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:kworkstation:10"
BUILD_ID="ALT 10.4"
ALT_BRANCH_ID="p10"
HOME_URL="https://www.basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"
DOCUMENTATION_URL="https://docs.altlinux.org/"
SUPPORT_URL="https://support.basealt.ru/"
> $ apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic gostcrypto
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic
> $ rpm -qa | grep kde5-plasma-addon-alt-weather
kde5-plasma-addon-alt-weather-1.0.25-alt2.x86_64
> $ rpm -qa | grep squid
squid-helpers-6.10-alt1.x86_64
squid-6.10-alt1.x86_64
> $ rpm -qa | grep libsasl2-plugin-gssapi
libsasl2-plugin-gssapi-2.1.28-alt2.x86_64
> И детальнее описать шаги для воспроизведения вашей проблемы?
На тестовом стенде поднимаю контроллер домена, прокси сервер squid и клиента для проверки работоспособности виджета
если прокси настраиваю с авторизацией виджет не получает данные о погоде

если прокси настраиваю без авторизации  (http_access allow localnet) виджет работает без проблем
 
> 1) Описать настройки вашего сервера squid
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -r -s GSS_C_NO_NAME
auth_param negotiate children 20
auth_param negotiate keep_alive on

external_acl_type fullgroup_krb ttl=900 negative_ttl=900 children-max=100 children-startup=50 cache=10 grace=15 %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g FullGroup@DIPLOMNAYA.ALT -D DIPLOMNAYA.ALT
external_acl_type limitedgroup_krb ttl=900 negative_ttl=900 children-max=100 children-startup=50 cache=10 grace=15 %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g LimitedGroup@DIPLOMNAYA.ALT -D DIPLOMNAYA.ALT

acl full_access         external fullgroup_krb
acl limited_access      external limitedgroup_krb

acl auth proxy_auth REQUIRED

acl blockdomains dstdomain "/etc/squid/blockdomains.lst"
http_access deny limited_access blockdomains

acl blockdomains dstdomain "/etc/squid/blockdomains.lst"
http_access deny limited_access blockdomains

> 2) Описать настройки клиента
В ЦУС указан адрес прокси
proxy.diplomnaya.alt:3128

исключения прокси
localhost,127.0.0.1,::1,192.168.100.0/24

> 3) Описать, что именно не работает в виджете: некорректные данные/данные

Виджет не может получить данные о погоде
> отсутствую/виджет зависает/и т.д
Скрин приложен в предыдущем сообщении (весь текст пропал при добавлении скрина)

В рабочей среде и на тестовом стенде картина воспроизводится у меня абсолютно одинаково
Для удобства развертывания могу предложить Ansible плейбуки (моя дипломная) с помощью которого разворачивал тестовые стенды на virtual box.
Comment 5 Murat 2024-12-09 16:00:01 MSK
Извиняюсь, упустил в конфигурации squid 

http_access allow full_access
http_access allow limited_access
Comment 6 Osmolovskaya Anastasia 2024-12-10 15:33:34 MSK
Версия пакетов: 
* squid-6.12-alt1.x86_64
* plasma-addon-alt-weather-2.0.0-alt3.x86_64

Тестовый стенд: 
Alt Server 10.2 (обновленный до Sisyphus)
Alt Kworkstation 10.4 (обновленный до Sisyphus)

Шаги для воспроизведения: 

Первый сценарий:

1. На сервере настроить squid:
# cat > /etc/squid/squid.conf << _EOF_
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
acl Safe_ports port 631    # CUPS
acl Safe_ports port 280    # HTTP-MGMT
acl Safe_ports port 210    # WAIS
acl Safe_ports port 591    # Filemaker
acl SSL_ports port 443    # HTTPS (C)
acl Safe_ports port 488    # GSS-HTTP
acl Safe_ports port 21    # FTP
acl Safe_ports port 70    # GOPHER
acl Safe_ports port 777    # Multilingual HTTP
acl Safe_ports port 80    # HTTP
acl Safe_ports port 873    # RSYNC
acl Safe_ports port 1025-65535   # Other ports
acl SSL_ports port 563    # SNEWS (C)
acl Safe_ports port 901    # SWAT
http_access deny !Safe_ports !SSL_ports
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports
acl our_networks src 127.0.0.0/8    # LOCALHOST
acl our_networks src 10.0.0.0/8    # Enter your ip-address
http_port 3128
_EOF_

# mkdir -p /var/cache/squid
# htpasswd -mbc /etc/squid/passwd "proxyuser" "123456"

# systemctl enable --now squid && sleep 5; systemctl status squid

# cat > /etc/httpd2/conf/sites-available/default.conf << _EOF_
<VirtualHost *:80>              
        ServerName $(hostname -i)
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        Redirect /wpad.dat http://$(hostname -i)/proxy.pac
        KeepAlive On
        <Directory "/var/www/html">
          Options -Indexes
        </Directory>
</VirtualHost>
_EOF_

# cat > /var/www/html/proxy.pac << _EOF_
function FindProxyForURL(url, host) {
    return "PROXY $(hostname -i):3128"
}
_EOF_

# echo "application/x-ns-proxy-autoconfig       dat" >> /etc/httpd2/conf/mime.types

# systemctl restart httpd2.service

2. Настроить прокси на клиенте:
"
1) Авторизоваться пользователем -> Открыть "Меню" -> "Настройки" -> Параметры системы" -> "Wifi и интернет" -> "Прокси-сервер" -> "Использовать заданные параметры" -> указать:
* ip адрес сервера, на котором настроен squid, 
* порт 3128 
* отменить чекбокс "Использовать этот прокси-сервер для всех протоколов" 

2) Перелогиниться в графической сессии, проверить работу прокси в браузере и работу виджета Яндекс Погоды 

Ожидаемый результат: в браузере возникает окно с запросом авторизации пользователя прокси, виджет погоды работает в стандартном режиме без ошибок
Реальный результат: совпадает с ожидаемым 

____________________________________________

Второй сценарий: 

1. На сервере настроить squid (как указано выше)
2. Настроить прокси на клиенте:
"
1) Авторизоваться пользователем -> Открыть "Меню" -> "Настройки" -> "Центр управления системой" -> "Прокси-сервер" -> указать:
* ip адрес сервера, на котором настроен squid
* порт 3128 

2) Перелогиниться в графической сессии, проверить работу прокси в браузере и работу виджета Яндекс Погоды 

Ожидаемый результат: в браузере возникает окно с запросом авторизации пользователя прокси, виджет погоды работает в стандартном режиме без ошибок
Реальный результат: прокси в браузере работает корректно, но виджет Яндекс Погоды не может получить данные (см. вложение)
Comment 7 Osmolovskaya Anastasia 2024-12-10 15:35:44 MSK
Created attachment 17360 [details]
Настройка прокси через ЦУС
Comment 8 Osmolovskaya Anastasia 2024-12-10 15:36:15 MSK
Created attachment 17362 [details]
Настройка прокси через параметры системы
Comment 9 Murat 2024-12-10 15:56:44 MSK
(Ответ для Osmolovskaya Anastasia на комментарий #6)
> Второй сценарий: 
> 
> 1. На сервере настроить squid (как указано выше)
> 2. Настроить прокси на клиенте:
> "
> 1) Авторизоваться пользователем -> Открыть "Меню" -> "Настройки" -> "Центр
> управления системой" -> "Прокси-сервер" -> указать:
> * ip адрес сервера, на котором настроен squid
> * порт 3128 
> 
> 2) Перелогиниться в графической сессии, проверить работу прокси в браузере и
> работу виджета Яндекс Погоды 
> 
> Ожидаемый результат: в браузере возникает окно с запросом авторизации
> пользователя прокси, виджет погоды работает в стандартном режиме без ошибок
> Реальный результат: прокси в браузере работает корректно, но виджет Яндекс
> Погоды не может получить данные (см. вложение)

Ура, подтвердилось, интересует, чтобы работало именно по второму сценарию, т.к. в нашей инфраструктуре мы для настроек прокси используем переменную через групповые политики по вашей документации https://www.altlinux.org/Групповые_политики/Прокси-сервер , как выше писал, даже с добавлением в исключение адреса не работает с авторизацией.
Comment 10 Sergey V Turchin 2024-12-18 12:17:41 MSK
(Ответ для Alexander Makeenkov на комментарий #3)
> Обратитесь, пожалуйста, в техподдержку.
Comment 11 Sergey V Turchin 2024-12-18 13:54:03 MSK
Олег! Посмотри, пожалуйста.
Comment 12 Олег Соловьев 2024-12-18 14:27:30 MSK
(In reply to Osmolovskaya Anastasia from comment #6)
> Второй сценарий: 
> 
> 1. На сервере настроить squid (как указано выше)
> 2. Настроить прокси на клиенте:
> 
> ...
> 
> Ожидаемый результат: в браузере возникает окно с запросом авторизации
> пользователя прокси, виджет погоды работает в стандартном режиме без ошибок
> Реальный результат: прокси в браузере работает корректно, но виджет Яндекс
> Погоды не может получить данные (см. вложение)

может, ЦУС как-то не так настраивает?
Comment 13 Murat 2025-01-10 12:09:27 MSK
> может, ЦУС как-то не так настраивает?

Добрый день!
Олег, наверное самый простой способ, это перепроверить вашу коллегу, раз такое недоверие.