RE: [squid-users] New to squid

From: Ruiyuan Jiang <RJiang_at_fnpc.com>
Date: Wed, 9 May 2012 11:29:53 -0400

Thanks for the reply Amos.

I could not start squid. From the messages file of Solaris, I saw the message:

May 9 11:04:20 socksnj squid[6304]: [ID 567784 local4.alert] Exiting due to repeated, frequent failures
May 9 11:15:48 socksnj squid[6346]: [ID 702911 user.alert] Failed to acquire SSL private key '/opt/squid-3.1.19/etc/webmail_test.key': error:0906406D:PEM routines:PEM_def_callback:problems getting password
May 9 11:15:51 socksnj squid[6349]: [ID 702911 user.alert] Failed to acquire SSL private key '/opt/squid-3.1.19/etc/webmail_test.key': error:0906406D:PEM routines:PEM_def_callback:problems getting password
May 9 11:15:54 socksnj squid[6353]: [ID 702911 user.alert] Failed to acquire SSL private key '/opt/squid-3.1.19/etc/webmail_test.key': error:0906406D:PEM routines:PEM_def_callback:problems getting password
May 9 11:15:57 socksnj squid[6355]: [ID 702911 user.alert] Failed to acquire SSL private key '/opt/squid-3.1.19/etc/webmail_test.key': error:0906406D:PEM routines:PEM_def_callback:problems getting password
May 9 11:16:00 socksnj squid[6357]: [ID 702911 user.alert] Failed to acquire SSL private key '/opt/squid-3.1.19/etc/webmail_test.key': error:0906406D:PEM routines:PEM_def_callback:problems getting password
May 9 11:16:00 socksnj squid[6344]: [ID 567784 local4.alert] Exiting due to repeated, frequent failures

I typed in the correct passphrase. The certificate was generated for Apache server with openssl. The self-signed cert was generated from openssl also.

Here is revised squid.conf. Thanks.


#
# Recommended minimum configuration:
#
##acl manager proto cache_object
##acl localhost src 127.0.0.1/32 ::1
##acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
##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 localnet src fc00::/7 # RFC 4193 local private network range
##acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
##http_access allow manager localhost
##http_access deny manager

# Deny requests to certain unsafe ports
##http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
##http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
##http_access allow localnet
##http_access allow localhost

# And finally deny all other access to this proxy
##http_access allow all

# Squid normally listens to port 3128

https_port 156.146.2.195:443 accel cert=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.crt key=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.key cafile=/opt/apache2.2.21/conf/ssl.crt/DigiCertCA.crt defaultsite=webmail.fnpc.com
cache_peer 156.146.16.198 parent 443 0 no-query originserver login=PASS ssl sslcert=/opt/squid-3.1.19/etc/webmail_test.crt sslkey=/opt/squid-3.1.19/etc/webmail_test.key name=exchangeServer

acl EXCH dstdomain .fnpc.com

cache_peer_access exchangeServer allow EXCH
cache_peer_access exchangeServer deny all
never_direct all EXCH

http_access allow EXCH
http_access deny all
miss_access allow EXCH
miss_access deny all


# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /opt/squid-3.1.19/var/cache 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /opt/squid-3.1.19/var/cache

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


Ryan Jiang

-----Original Message-----
From: Amos Jeffries [mailto:squid3_at_treenet.co.nz]
Sent: Tuesday, May 08, 2012 9:05 PM
To: squid-users_at_squid-cache.org
Subject: Re: [squid-users] New to squid

On 09.05.2012 10:42, Ruiyuan Jiang wrote:
> Hi, all
>
> I am new to Squid. I am trying to setup squid as a reverse proxy to
> for MS Exchange outlook client access. I compiled squid myself
> (v3.1.19, Solaris 10, SPARC). I followed the configuration example on
> the squid web page "ConfigExamples/Reverse/ExchangeRpc".
>
> # cat squid.conf
<snip>
> # Squid normally listens to port 3128
>
> https_port 156.146.1.133:443 accel
> cert=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.crt
> defaultsite=webmail.fnpc.com
> cache_peer 10.105.10.20 parent 443 0 no-query originserver login=PASS
> ssl sslcert=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.crt
> name=exchangeServer
>
> acl EXCH dstdomain .fnpc.com
>
> cache_peer_access exchangeServer allow EXCH
> cache_peer_access exchangeServer deny all
> never_direct all EXCH
>
> http_access allow EXCH
> http_acces deny all

    ^^ typo "ss"

> miss_access allow EXCH
> miss_access deny all
>

<snip>
>
> The cerficate file webmail_fnpc_com.crt is a valid certificate that I
> got from a CA. Do I need to install two certificates on the server,
> one for client which I would guess the official certificate
> (webmail_fnpc_com.crt)? Can I present the same certificate to the
> internal exchange server? That is what I did to all my Apache reverse
> proxy servers for Exchange server.

The basics of it are that Squid is what interacts with the client. So
the public cert needs to be presented there on https_port.

What Exchange uses depends on what type of interactions happen there.
It is probably safest to have self-signed certs with the self-signing CA
trusted by Squid (on cache_peer) so it can verify Exchange, but this
only works if the clients are not interacting directly to Exchange via
other channels.

NP: Squid requires PEM format certificate files.


> When I ran 'squid -X', I got the
> below message stating 1. unrecognized: 'https_port', 2. FATAL:
> Bungled
> squid.conf line 64: cache_peer 156.146.16.198 parent 443 0 no-query
> originserver login=PASS ssl
> sslcert=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.crt
> name=exchangeServer
>

When you built squid you omitted --enable-ssl. Ensure you have openssl
development library to build against and rebuild your squid. It should
accept the SSL related config after that.

<snip>
> 2012/05/08 17:22:11.373| parse_peer: token='ssl'
...
> FATAL: Bungled squid.conf line 64: cache_peer 156.146.16.198 parent
> 443 0 no-query originserver login=PASS ssl
> sslcert=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.crt
> name=exchangeServer
> Squid Cache (Version 3.1.19): Terminated abnormally.


Amos

This message (including any attachments) is intended
solely for the specific individual(s) or entity(ies) named
above, and may contain legally privileged and
confidential information. If you are not the intended
recipient, please notify the sender immediately by
replying to this message and then delete it.
Any disclosure, copying, or distribution of this message,
or the taking of any action based on it, by other than the
intended recipient, is strictly prohibited.
Received on Wed May 09 2012 - 15:30:04 MDT

This archive was generated by hypermail 2.2.0 : Thu May 10 2012 - 12:00:03 MDT