свяжите сквид и апача для pac файла

РЕДАКТИРОВАНИЕ Это были некоторые правила стажера о FW, жаль о неудобстве и спасибо за Ваши советы


У меня есть сервер со Сквидом (2.7. STABLE9) на Debian (Хрипящие 7.1) и я добавляю, что Apache2 (2.2.22) для отправляет файл PAC всему моему пользователю.

Оба - установка и работы, но я не могу получить pac файл, если я уже не подключение к серверу Сквида (только если я использую локальный файл PAC с FoxyProxy).

На самом деле я могу загрузить pac файл, если я запрашиваю IP-адрес сервера в моем браузере, когда я устанавливаю FoxyProxy для своего прокси с локальной копией pac файла. Но если я не сделал setuo orixy на моем браузере, у меня есть ошибка (ERR_CONNECTION_REFUSED на Chrome, например).

существует мой/etc/squid/squid.conf

#################### SQUID CONF FILE
#################### Version 2.7.STABLE9

########################################
# AUTHENTICATE
#See http://wiki.squid-cache.org/ConfigExamples/Authenticate/
## NTLM Authentification
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp 
auth_param ntlm children 5
auth_param ntlm keep_alive on


# See http://www.odrakir.com/blog/2009/11/19/integrating-squid-with-active-directory/
external_acl_type ADS %LOGIN /usr/lib/squid/wbinfo_group.pl


########################################
# SECURITY
forwarded_for off                   # Hide self.IP
httpd_suppress_version_string on    # Hide squid version
#chroot on                          # Chroot squid deamon
debug_options ALL,1




########################################
# Acces List
#Global:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443        # HTTPS
acl Safe_ports port 80 8080 # HTTP(s)
acl purge method PURGE
acl CONNECT method CONNECT

acl my_lab src 172.30.24.0/24

# authentification
acl ntlm proxy_auth REQUIRED
acl user_group external ADS my_user



########################################
# HTTP_ACCES
# Default HTTP Access
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access allow localnet
http_access allow localhost

# Hack for no popups (See: http://wiki.squid-cache.org/Features/Authentication#How_do_I_prevent_Login_Popups.3F )
http_access deny !ntlm all
# Check user come from right OU from AD
http_access deny !user_group all

# Allow subnet acces with HTTP ports
http_access allow my_lab Safe_ports all
# No Connect method on other port than 443
http_access deny CONNECT !SSL_ports

# At last but not the least !
http_access deny all



########################################
# HEADER_ACCESS
# http_anonymizer paranoid, see http://www.foo.be/scripts/anonymizer/squid.conf
via off     # RFC2616 HTTP header Via
forwarded_for off
# return fail on some website
#header_access Allow allow all
#header_access Authorization allow all
#header_access WWW-Authenticate allow all
#header_access Proxy-Authorization allow all
#header_access Proxy-Authenticate allow all
#header_access Cache-Control allow all
#header_access Content-Encoding allow all
#header_access Content-Length allow all
#header_access Content-Type allow all
#header_access Date allow all
#header_access Expires allow all
#header_access Host allow all
#header_access If-Modified-Since allow all
#header_access Last-Modified allow all
#header_access Location allow all
#header_access Pragma allow all
#header_access Accept allow all
#header_access Accept-Charset allow all
#header_access Accept-Encoding allow all
#header_access Accept-Language allow all
#header_access Content-Language allow all
#header_access Mime-Version allow all
#header_access Retry-After allow all
#header_access Title allow all
#header_access Connection allow all
#header_access Proxy-Connection allow all
#header_access Referer allow all
#header_access All deny all



########################################
# ICP_ACCES
icp_access allow localnet
icp_access deny all



########################################
# GLOBAL SQUID CONF (port, cache, ...)
http_port 3128
icp_port 0  # 0 for diseable
htcp_port 0 # Same...

cache_mem 80 MB
cache_effective_group winbindd_priv

hierarchy_stoplist cgi-bin ?

access_log /var/log/squid/access.log squid
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern .   0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid
cache_dir ufs /var/spool/squid 500 16 256

и/etc/apache2/sites-available/proxy

NameVirtualHost *:80
<VirtualHost 172.30.10.113:80 127.0.0.1:80>
    ServerAdmin titi@tata.fr

    DocumentRoot /var/www/pac
    DirectoryIndex proxy.pac

    <Directory /var/www/pac/>
        ForceType application/x-ns-proxy-autoconfig
        Options -Indexes -FollowSymLinks -MultiViews -ExecCGI
        Order allow,deny
        Allow from all
        RedirectMatch ^/$ /proxy.pac
    </Directory>
#   <LimitExcept GET>
#       Require ip 10.0.0.0 172.16.0.0 192.168.0.0
#   </LimitExcept>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

и/var/www/pac/proxy.pac

function FindProxyForURL(url, host)
{
    // Let them go home !!
    if (shExpMatch (url, "localhost*") || isInNet(host, "127.0.0.1", "255.255.255.255"))
        return "DIRECT";
    // See https://support.mozilla.org/sv/questions/804868#answer-166476
    else if (!dnsResolve('my.domain.fr'))
        return "DIRECT";
    else
        return "PROXY 172.30.10.113:3128";
}

Я имею, уже видят это, но он использует опцию Squid3 в конфигурационном файле.

Править

И нет никакого iptables на сервере, Возможно, мне только нужно iptables перенаправление на ip:3128 к ip:80?


Спасибо за Вашу справку или любой совет.

0
задан 4 June 2015 в 11:21
1 ответ

не уверен, что это просто ошибка вырезания и вставки, но я прочитал:

ForceType applivation/x-ns-proxy-autoconfig

это должно быть:

ForceType application/x-ns-proxy-autoconfig

еще одна вещь, которую я не вижу, это исключение вашей подсети в pac-файле; Я бы добавил это к первой проверке:

isInNet(dnsResolve(host), "172.30.10.0", "255.255.255.0")

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

независимо от вышеизложенного, я бы удалил любые перезаписи с вашего pac-сайта (страница по умолчанию и RedirectMatch ): доступ к pac-файлу является автоматическим процессом (нет пользователей, просматривающих этот файл), и никакая перезапись или перенаправление не требуется, но добавляет уровень неопределенности к любым действиям по отладке, и это нехорошо.

возможно, удаление перенаправления может, наконец, записываются в какой-нибудь файл журнала.

1
ответ дан 4 December 2019 в 16:56

Теги

Похожие вопросы