The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"SQUID+JavaApplets = не работают java-объекты"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (ACL, блокировки)
Изначальное сообщение [ Отслеживать ]

"SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от Seltsam email on 16-Мрт-06, 15:45 
ПРивет ВСЕМ!
Ребят, юзеры SQUID'а, такой вопрос: есть банковский сайтик, где используются всякие java-штуки (кнопочки по отправке файлов, загрузке всяких ключей и т.п.) - вот и не работает через сквид, точно не работает - java выкидывает окно на авторизацию доступа к прокси, при вводе логина/пароля снова несколько раз окно запроса и в итоге аплеты и т.п. не загружаются.
использую доменную авторизацию доступа к нету. в конфиге конечно прописано несколько acl по доступу к разным ресурсам (HTTP, FTP, porno ...)
вот кусочек логов Java Consol:
java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.0 407 Proxy Authentication Required"
at sun.net.www.protocol.http.HttpURLConnection.doTunneling(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.setProxiedClient(DashoA6275)
at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.superConnect(Unknown Source)
...
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.https.PluginDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(DashoA6275)
at sun.plugin.net.protocol.http.HttpUtils.followRedirects(Unknown Source)
......................
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
...
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
...
at java.lang.Thread.run(Unknown Source)
load: class SignApplet.class not found.
java.lang.ClassNotFoundException: SignApplet.class
at sun.applet.AppletClassLoader.findClass(Unknown Source)
...
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed.
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 11 more

в чём проблема? догадки - squid не пускает java-ресурсы по умолчанию, тогда каким образом это разрешить?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от ipmanyak (??) on 17-Мрт-06, 09:14 
>в чём проблема? догадки - squid не пускает java-ресурсы по умолчанию, тогда
>каким образом это разрешить?
джаву сквид пускает !   или автроизация кривая   либо аксели у тебя кривые  
java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.0 407 Proxy Authentication Required"  - что за туннель требуется ?  


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от Seltsam email on 17-Мрт-06, 10:04 
>джаву сквид пускает !
ну ладна-ладна... не кипятись только =)
я ж сказал, что это догадки, а не утверждение
возникло потому, что пробовал ставить разрешение на всё без всяких запретов доступа к урлам и т.д.
>   или автроизация кривая   либо аксели у тебя кривые
всё может быть - от ошибок никто не застрахован
вот для этого привожу свои аксели и аутентификацию (через самбу в вин домене):

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny to_localhost

# Access to HTTP or HTTPS Sources
acl HTTP_dest port 443 80 8080 8108
# Access to FTP Sources
acl FTP_dest url_regex -i ^ftp://

# Name of Logon Users
acl LogonUser proxy_auth REQUIRED

# List of Users for Access to HTTP(S)
acl inet_users proxy_auth -i "/etc/squid/access/inetusers.lst"

# List of Users for Access to FTP
acl ftp_users proxy_auth -i "/etc/squid/access/ftpusers.lst"

acl SSL_ports port 443
http_access allow CONNECT LogonUser inet_users SSL_ports
http_access deny CONNECT !SSL_ports
http_access deny CONNECT !inet_users

# Allow TO FTP
http_access allow LogonUser ftp_users FTP_dest
deny_info ERR_FTP_DENIED FTP_dest
http_access deny LogonUser !ftp_users FTP_dest

# Allow TO HTTP
http_access allow LogonUser inet_users HTTP_dest
deny_info ERR_HTTP_DENIED HTTP_dest
http_access deny LogonUser !inet_users HTTP_dest

http_access deny all


>java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.0 407 Proxy Authentication
>Required"  - что за туннель требуется ?
а если б я знал... =/


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от ipmanyak (??) on 17-Мрт-06, 10:44 
возможно трабла с SSL ! пробуй изменить правила для SSL
acl SSL_ports port 443
acl CONNECT method CONNECT
acl SSL_ports port 443
http_access allow CONNECT LogonUser  SSL_ports
http_access allow CONNECT inet_users SSL_ports
http_access deny CONNECT !SSL_ports
остальные deny  убери здесь

http_access allow CONNECT LogonUser inet_users SSL_ports   - применяет логическое "И" для всех трех ! разницу думаю понял ?  
если не поможет  - выпусти нужные станции напрямую через NAT/МАСКАРАД,  без прокси

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от Seltsam email on 17-Мрт-06, 11:11 
>возможно трабла с SSL ! пробуй изменить правила для SSL
>acl SSL_ports port 443
>acl CONNECT method CONNECT
>acl SSL_ports port 443
>http_access allow CONNECT LogonUser  SSL_ports
>http_access allow CONNECT inet_users SSL_ports
>http_access deny CONNECT !SSL_ports
>остальные deny  убери здесь
>
>http_access allow CONNECT LogonUser inet_users SSL_ports   - применяет логическое "И"
>для всех трех ! разницу думаю понял ?
ну про разницу, точнее логическое "И", мне рассказывать не надо, с этим я уже сталкивался =) , поэтому и стал заморачиваться с более точными правилами доступа в Инет, вплоть до портов и урлов
почему использую именно такую конструкцию - http_access allow CONNECT LogonUser inet_users SSL_ports ? - чтобы пускать на SSL аутентифицированных юзерей из acl inet_users
можно здесь выкинуть LogonUser, но по-моему (раньше делал так) в таком случае будет запрос на ввод логина/пароля. При обращении на банковский сайт java типа сама (окошко запроса имеет символику jav'ы) сначала выводит мне окно с запросом логина/пароля - я ввожу и нифига не пускает, повторяется неск раз. в логах сквида вот что:
TCP_DENIED/407 454 HEAD http://sait.banka.ru:443/SignApplet.jar - NONE/- text/html
ну и далее с разными вещами джавы (.class и т.д.)

>если не поможет  - выпусти нужные станции напрямую через NAT/МАСКАРАД,  
>без прокси
так наверно и придётся, т.к. сайтик пока слава ... один в наличии =)
Вопросик в таком случае - джава будет грузить всякие свои апплеты и т.д. с хоста банка, или обращаться на какие хосты разработчиков джавы? думаю вопрос понятен?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от oprichnik (ok) on 21-Июл-06, 14:42 
>>возможно трабла с SSL ! пробуй изменить правила для SSL
>>acl SSL_ports port 443
>>acl CONNECT method CONNECT
>>acl SSL_ports port 443
>>http_access allow CONNECT LogonUser  SSL_ports
>>http_access allow CONNECT inet_users SSL_ports
>>http_access deny CONNECT !SSL_ports
>>остальные deny  убери здесь
>>
>>http_access allow CONNECT LogonUser inet_users SSL_ports   - применяет логическое "И"
>>для всех трех ! разницу думаю понял ?
>ну про разницу, точнее логическое "И", мне рассказывать не надо, с этим
>я уже сталкивался =) , поэтому и стал заморачиваться с более
>точными правилами доступа в Инет, вплоть до портов и урлов
>почему использую именно такую конструкцию - http_access allow CONNECT LogonUser inet_users SSL_ports
>? - чтобы пускать на SSL аутентифицированных юзерей из acl inet_users
>
>можно здесь выкинуть LogonUser, но по-моему (раньше делал так) в таком случае
>будет запрос на ввод логина/пароля. При обращении на банковский сайт java
>типа сама (окошко запроса имеет символику jav'ы) сначала выводит мне окно
>с запросом логина/пароля - я ввожу и нифига не пускает, повторяется
>неск раз. в логах сквида вот что:
>TCP_DENIED/407 454 HEAD http://sait.banka.ru:443/SignApplet.jar - NONE/- text/html
>ну и далее с разными вещами джавы (.class и т.д.)
>
>>если не поможет  - выпусти нужные станции напрямую через NAT/МАСКАРАД,  
>>без прокси
>так наверно и придётся, т.к. сайтик пока слава ... один в наличии
>=)
>Вопросик в таком случае - джава будет грузить всякие свои апплеты и
>т.д. с хоста банка, или обращаться на какие хосты разработчиков джавы?
>думаю вопрос понятен?


Для обеспечения работы Java-апплетов с Сервером «iBank» через прокси-сервер Squid необходимо соблюдение следующих правил:

   1. Не должна использоваться аутентификация клиентов - Squid не должен запрашивать у пользователя его имя и пароль. Соответственно не следует использовать директиву

      acl <acl_name> proxy_auth REQUIRED

      в файле настроек squid.conf.

      Если же существует необходимость в использовании этого механизма защиты, то необходимо отключить аутентификацию клиентов при обращении к серверу iBank. Для этого нужно добавить в squid.conf следующие строчки:

      acl ibank_dst dst 195.239.34.170/255.255.255.255 (ip адрес сервера iBank)

      acl ibank_ports port 443 9091

      http_access allow ibank_dst

      http_access allow CONNECT ibank_ports

      Примечание. Последние две строчки должны быть записаны до строки, в которой запрашивается аутентификация, т.е. если существует access-лист, допустим, users в виде

      acl users proxy_auth REQUIRED

      то наши две строки должны располагаться до строки

      http_access allow users

   2. Разрешить соединения на TCP-порты 443, 9091 Сервера «iBank». Возможный вариант:

      acl ibank_ports port 443 9091

      http_access allow CONNECT ibank_ports

      Причем последняя строчка должна располагаться до строки, в которой вводится запрет на порты выше 1023. В стандартной поставке Squid разрешены порты: 80, 21, 443, 563, 70, 210, 1025-65535. Многие оставляют только 80, 443, поэтому здесь нужно быть внимательным.

   3. При запуске апплетов системы iBank пользователю нужно указывать ip адрес и порт (3128 по умолчанию) proxy-сервера Squid.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от Seltsam on 21-Июл-06, 15:07 

>Для обеспечения работы Java-апплетов с Сервером «iBank» через прокси-сервер Squid необходимо соблюдение
>следующих правил:
>
...   ...   ...
>   3. При запуске апплетов системы iBank пользователю нужно указывать
>ip адрес и порт (3128 по умолчанию) proxy-сервера Squid.
>
>

Ок, биг сенкс
Пороюсь по настройкам как буду свободен более менее
Вопрос конечно уже давно был, но сенкс за подробности =)
Я уже сам потом понял, что авторизация не проходит, даж ацка не могёт
работать с авторизацией, пришлось выпускать коннект на ацку по апишникам
но эт не страшно =)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от zgen (??) on 20-Июн-07, 19:30 

Если хотите NTLM авторизацию для Java Applets - используйте родную, microsoft'овскую (а не sun'овскую) JVM. по крайней мере распространенный ibank с ней работает корректно

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "SQUID+JavaApplets = не работают java-объекты"  +/
Сообщение от MikeLog on 25-Окт-17, 06:19 
> Если хотите NTLM авторизацию для Java Applets - используйте родную, microsoft'овскую (а
> не sun'овскую) JVM. по крайней мере распространенный ibank с ней работает
> корректно

Мы решили этот вопрос так
acl allowed_sites url_regex "/etc/squid/allowed_sites.txt"

ну и разрешили этот урл без авторизации.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру