个人工具

UbuntuHelp:Squid/Customize

来自Ubuntu中文

跳转至: 导航, 搜索

Squid is ugly

Squid error pages are ugly, here's how you can change it.

Configuration

This assumes you already have a squid proxy installation which is up and running. Squid is serving static pages on errors, denies or on other problematic situations. All those pages can be found in `/usr/share/squid/errors/`. The pages are stored in folders with language names. Those folders are actually the squid translated pages. We can change the language squid serves pages by editing `/etc/squid/squid.conf` configuration file. Find the `error_directory` directive and change it's value to the path where your language files are stored.

error_directory /usr/share/squid/errors/Romanian

Ok, but this doesn't make Squid error pages prettier! To get this issue fixed you can edit every page inside the error pages directory to suit your needs, or, you can use sed!

Custom pages

Make a copy of your language folder first.

mkdir /etc/squid/pages/
cp -r /usr/share/squid/errors/Romanian /etc/squid/pages/

Now cause it is HTML the pages inside that folder are written in, we can use CSS to prettify those. Here's a simple sed usage to quickly search and replace the default squid error pages CSS tag with some custom CSS:

sed -i 's/<STYLE type="text\/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--><\/STYLE>/<STYLE type="text\/css"><!--BODY{width:70%; margin: 50px auto;font-family:Georgia,serif; color: #4a4a4a}a:link{color:#cc0000}a:visited{color:#666}--><\/STYLE>/g' *

Now edit again your squid config file and point `error_directory` to the new location of your error pages. Reload squid:

invoke-rc.d squid reload

Point a browser which uses you squid proxy to some impossible domain name. The resulted error pages are amazingly beautiful! 模板:Http://img261.imageshack.us/img261/4757/screenshoteroareurlulce.png You can go further and customize your pages in any way you want. Good luck!