Bug 44967 - Firefox не получает автоматические настройки прокси от plasma5-systemsettings на KDE
Summary: Firefox не получает автоматические настройки прокси от plasma5-systemsettings...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: firefox-esr (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-19 13:00 MSK by Evgeny Shesteperov
Modified: 2023-01-19 13:00 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Shesteperov 2023-01-19 13:00:13 MSK
Версия
======

- firefox-esr-102.6.0-alt1
- squid-5.7-alt2
- plasma5-systemsettings-5.26.5-alt1

Дистрибутивы
============

- p10-education-10-x86-64-kde, обновлённый до Sisyphus
- p10-kworkstation-10.1-x86-64, обновлённый до Sisyphus

Настройка сервера
=================

Сервер с настроенным Squid и автоматической настройкой PAC на p10-server-10-x86-64, обновлённым до Sisyphus.

# apt-get install -y squid
    
# cat > /etc/squid/squid.conf << _EOF_
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -r
auth_param negotiate children 10
auth_param negotiate keep_alive on
acl AUTHENTICATED proxy_auth REQUIRED
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_access deny !our_networks
http_access allow all
http_access deny all
http_port 3128
_EOF_

# 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

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

1. Установить Firefox:
   
        # apt-get install -y firefox-esr
   
2. Открыть Меню приложения → Настройки → Параметры системы KDE → Сеть и связь → Настройка сети → Прокси сервер.
3. Выбрать Автоматическая настройка по указанному URL.
4. Ввести URL в формате http://<IP-адрес сервера>/wpad.dat.
5. Нажать Применить.
6. Перелогиниться в систему.
7. Отслеживать логи на сервере:
   
        # tail -f /var/log/squid/access.log

8. На клиенте в тестируемом браузере выполнить любой поисковой запрос.

Ожидаемый результат: работа браузера через прокси, например

        1673620050.330 185 <IP клиента> TCP_MISS/200 1268 HEAD http://www.google.com/ - HIER_DIRECT/2a00:1450:4010:c05::67 text/html

Фактический результат: браузер не работает через прокси

Дополнительно: если использовать опцию Использовать заданные параметры (то есть указывать сервер напрямую), то всё работает, как ожидаемо.

Воспроизводится в P10.