[squid-users] New to squid

From: Ruiyuan Jiang <RJiang_at_fnpc.com>
Date: Tue, 8 May 2012 18:42:10 -0400

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
# 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.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
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

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. 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

# ./squid -X
2012/05/08 17:22:11.353| command-line -X overrides: ALL,7
2012/05/08 17:22:11.354| CacheManager::registerAction: registering legacy mem
2012/05/08 17:22:11.355| CacheManager::findAction: looking for action mem
2012/05/08 17:22:11.355| Action not found.
2012/05/08 17:22:11.355| CacheManager::registerAction: registered mem
2012/05/08 17:22:11.356| CacheManager::registerAction: registering legacy squidaio_counts
2012/05/08 17:22:11.356| CacheManager::findAction: looking for action squidaio_counts
2012/05/08 17:22:11.356| Action not found.
2012/05/08 17:22:11.357| CacheManager::registerAction: registered squidaio_counts
2012/05/08 17:22:11.357| CacheManager::registerAction: registering legacy diskd
2012/05/08 17:22:11.357| CacheManager::findAction: looking for action diskd
2012/05/08 17:22:11.358| Action not found.
2012/05/08 17:22:11.358| CacheManager::registerAction: registered diskd
2012/05/08 17:22:11.359| Detected IPv6 hybrid or v4-mapping stack...
2012/05/08 17:22:11.359| IPv6 transport Enabled
2012/05/08 17:22:11.360| cf_parser.cci(2612) free_all:
2012/05/08 17:22:11.360| aclDestroyACLs: invoked
2012/05/08 17:22:11.361| ACL::Prototype::Registered: invoked for type src
2012/05/08 17:22:11.361| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.361| ACL::FindByName 'all'
2012/05/08 17:22:11.362| ACL::FindByName found no match
2012/05/08 17:22:11.362| aclParseAclLine: Creating ACL 'all'
2012/05/08 17:22:11.362| ACL::Prototype::Factory: cloning an object for type 'src'
2012/05/08 17:22:11.363| aclIpParseIpData: all
2012/05/08 17:22:11.363| aclIpParseIpData: magic 'all' found.
2012/05/08 17:22:11.363| Processing Configuration File: /opt/squid-3.1.19/etc/squid.conf (depth 0)
2012/05/08 17:22:11.367| Processing: acl SSL_ports port 443
2012/05/08 17:22:11.367| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.367| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.368| ACL::FindByName 'SSL_ports'
2012/05/08 17:22:11.368| ACL::FindByName found no match
2012/05/08 17:22:11.369| aclParseAclLine: Creating ACL 'SSL_ports'
2012/05/08 17:22:11.369| ACL::Prototype::Factory: cloning an object for type 'port'
2012/05/08 17:22:11.369| Processing: acl Safe_ports port 80 # http
2012/05/08 17:22:11.370| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.370| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.370| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.370| ACL::FindByName found no match
2012/05/08 17:22:11.370| aclParseAclLine: Creating ACL 'Safe_ports'
2012/05/08 17:22:11.370| ACL::Prototype::Factory: cloning an object for type 'port'
2012/05/08 17:22:11.370| Processing: acl Safe_ports port 21 # ftp
2012/05/08 17:22:11.370| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.370| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.370| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.370| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.370| Processing: acl Safe_ports port 443 # https
2012/05/08 17:22:11.370| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.370| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.371| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.371| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.371| Processing: acl Safe_ports port 70 # gopher
2012/05/08 17:22:11.371| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.371| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.371| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.371| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.371| Processing: acl Safe_ports port 210 # wais
2012/05/08 17:22:11.371| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.371| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.371| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.371| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.371| Processing: acl Safe_ports port 1025-65535 # unregistered ports
2012/05/08 17:22:11.371| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.371| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.371| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.371| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.371| Processing: acl Safe_ports port 280 # http-mgmt
2012/05/08 17:22:11.371| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.371| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.372| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.372| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.372| Processing: acl Safe_ports port 488 # gss-http
2012/05/08 17:22:11.372| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.372| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.372| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.372| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.372| Processing: acl Safe_ports port 591 # filemaker
2012/05/08 17:22:11.372| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.372| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.372| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.372| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.372| Processing: acl Safe_ports port 777 # multiling http
2012/05/08 17:22:11.372| ACL::Prototype::Registered: invoked for type port
2012/05/08 17:22:11.372| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.372| ACL::FindByName 'Safe_ports'
2012/05/08 17:22:11.372| aclParseAclLine: Appending to 'Safe_ports'
2012/05/08 17:22:11.372| Processing: acl CONNECT method CONNECT
2012/05/08 17:22:11.372| ACL::Prototype::Registered: invoked for type method
2012/05/08 17:22:11.372| ACL::Prototype::Registered: yes
2012/05/08 17:22:11.373| ACL::FindByName 'CONNECT'
2012/05/08 17:22:11.373| ACL::FindByName found no match
2012/05/08 17:22:11.373| aclParseAclLine: Creating ACL 'CONNECT'
2012/05/08 17:22:11.373| ACL::Prototype::Factory: cloning an object for type 'method'
2012/05/08 17:22:11.373| Processing: https_port 156.146.2.195:443 accel cert=/opt/apache2.2.21/conf/ssl.crt/webmail_fnpc_com.crt defaultsite=webmail.fnpc.com
2012/05/08 17:22:11.373| cache_cf.cc(381) parseOneConfigFile: squid.conf:63 unrecognized: 'https_port'
2012/05/08 17:22:11.373| Processing: 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
2012/05/08 17:22:11.373| parse_peer: token='ssl'
2012/05/08 17:22:11.373| leave_suid: PID 27667 called
2012/05/08 17:22:11.373| leave_suid: PID 27667 giving up root, becoming 'nobody'
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.
2012/05/08 17:22:11.376| enter_suid: PID 27667 taking root priveleges
2012/05/08 17:22:11.376| leave_suid: PID 27667 called
2012/05/08 17:22:11.376| leave_suid: PID 27667 giving up root, becoming 'nobody'
CPU Usage: 0.034 seconds = 0.017 user + 0.017 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
2012/05/08 17:22:11.376| ACL::~ACL: '
2012/05/08 17:22:11.377| ACL::~ACL: '
2012/05/08 17:22:11.377| ACL::~ACL: '
2012/05/08 17:22:11.377| ACL::~ACL: '

Thanks in advance.

Ryan Jiang

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 Tue May 08 2012 - 22:42:19 MDT

This archive was generated by hypermail 2.2.0 : Wed May 09 2012 - 12:00:02 MDT