Skip to content
Browse files

Documentation updates

git-svn-id: svn://cherokee-project.com/cherokee/trunk@5096 5dc97367-97f1-0310-9951-d761b3857238
  • Loading branch information...
1 parent 79ccc22 commit 2d3894d5d10e5d40397fa113b03c08ec6cfacf19 taher committed May 14, 2010
View
3 doc/Makefile.am
@@ -72,6 +72,7 @@ cookbook_streaming.html \
cookbook_uwsgi.html \
cookbook_coldfusion.html \
cookbook_concrete5.html \
+cookbook_https_accelerator.html \
modules.html \
modules_balancers.html \
modules_balancers_ip_hash.html \
@@ -250,6 +251,8 @@ media/images/cookbook_managing_logs_rules.png \
media/images/cookbook_managing_logs_handler.png \
media/images/cookbook_zend1.png \
media/images/cookbook_joomla.png \
+media/images/cookbook_https_accelerator_handler.png \
+media/images/cookbook_https_accelerator_sources.png \
media/images/proxy_phase1.png \
media/images/proxy_phase2.png \
media/images/tracelor.png \
View
1 doc/cookbook.txt
@@ -9,6 +9,7 @@
. link:cookbook_optimizations.html[Optimizing Cherokee]: Recommendations and tweaks.
. link:cookbook_redirs.html[Redirections]: Common redirection examples.
. link:cookbook_ssl.html[SSL/TLS, certs]: Secure connection tips.
+ . link:cookbook_https_accelerator.html[HTTPS accelerator]: How to set up Cherokee as HTTPS accelerator.
. link:cookbook_streaming.html[Streaming]: How to stream Audio and Video with Cherokee.
. link:cookbook_php.html[PHP]: How to run PHP apps with Cherokee.
. link:cookbook_ror.html[Ruby on Rails]: How to run Ruby on Rails apps with Cherokee.
View
54 doc/cookbook_https_accelerator.txt
@@ -0,0 +1,54 @@
+== link:index.html[Index] -> link:cookbook.html[Cookbook]
+
+Cookbook: Setting up an HTTPS accelerator
+-----------------------------------------
+
+It is no secret that HTTPS traffic has an important performance impact
+when compared to HTTP. This penalty is influenced by a number of
+reasons: handshaking overhead, latency due to the increased number of
+round trips, and increased CPU usage on the server.
+
+This impact loss can be mitigated to a certain extent through several
+methods. You can use a dedicated hardware SSL layer. Or you can also
+ensure that the web server is using HTTP Keep-Alive, which allows the
+client to reuse SSL sessions, and avoids the need for another
+handshake. Cherokee will allow this, but you can also set it up to act
+as an HTTPS accelerator, which is pretty interesting by itself.
+
+If you are using several servers this can be easily done. The theory
+is very simple:
+
+. Set up a main HTTP Reverse proxy. This one should allow the clients
+to maintain HTTP Keep-Alive sessions, and will return data through a
+secured HTTPS channel. It can also use dedicated SSL hardware to speed
+up the encryption. This proxy will balance the load among a number of
+back-ends.
+
+. Set up your HTTP back-ends, which will be in your local network and
+thus can transfer data through the regular HTTP protocol.
+
+It seems easy enough. The performance gain is very significant since
+all the back-ends do not have to suffer the constant hammering involved
+with HTTPS overhead, and their contents can be efficiently cached.
+
+[[details]]
+The process in detail
+~~~~~~~~~~~~~~~~~~~~~
+
+Lets assume your back-end servers are running on your local network on
+10.0.0.101:8080, 10.0.0.102:8080, and so on.
+
+The front-end server would have to balance the load among them. For
+that, you will first have to add as many
+link:config_info_sources.html[Information Sources] as back-ends.
+
+image::media/images/cookbook_https_accelerator_sources.png[Back-ends]
+
+Then you will have to configure the HTTP Reverse proxy. Visit your
+front-end's virtual server through the
+link:config_virtual_servers.html[vServers] section, select the
+`Behavior` tab, and click on `Rule Management`. You will be able to
+choose the link:modules_handlers_proxy.html[HTTP Reverse Proxy]
+handler, and set it to balance the load among all your back-ends.
+
+image::media/images/cookbook_https_accelerator_handler.png[Back-ends]
View
22 doc/cookbook_php.txt
@@ -153,3 +153,25 @@ source!1!interpreter = /usr/local/bin/php-cgi -c /usr/local/etc/php/php-vhost1.i
source!2!nick = php-vhost2
source!2!interpreter = /usr/local/bin/php-cgi -c /usr/local/etc/php/php-vhost2.ini -b 127.0.0.1:2999
------
+
+
+[[upload_limits]]
+PHP upload limits
+~~~~~~~~~~~~~~~~~
+
+Every now and then this issue pops up: an HTTP error 400 appears
+repeatedly when uploading files to a PHP back-end.
+
+PHP has several limits in-place which can be configured through its
+`php.ini` configuration file.
+
+Two entries are related to this issue. Tweak them according to your
+necessities. In this example, we are rising the limit to 200MB.
+
+----
+; Maximum size of POST data that PHP will accept.
+post_max_size = 200M
+
+; Maximum allowed size for uploaded files.
+upload_max_filesize = 200M
+----
View
1 doc/index.txt
@@ -54,6 +54,7 @@ link:cookbook.html[Cookbook]: Recipes for specific tasks
. link:cookbook_optimizations.html[Optimizing Cherokee]: Recommendations and tweaks.
. link:cookbook_redirs.html[Redirections]: Common redirection examples.
. link:cookbook_ssl.html[SSL/TLS, certs]: Secure connection tips.
+ . link:cookbook_https_accelerator.html[HTTPS accelerator]: How to set up Cherokee as HTTPS accelerator.
. link:cookbook_streaming.html[Streaming]: How to stream Audio and Video with Cherokee.
. link:cookbook_php.html[PHP]: How to run PHP apps with Cherokee.
. link:cookbook_ror.html[Ruby on Rails]: How to run Ruby on Rails apps with Cherokee.
View
BIN doc/media/images/cookbook_https_accelerator_handler.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN doc/media/images/cookbook_https_accelerator_sources.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
44 doc/other_community.txt
@@ -1,5 +1,21 @@
== link:index.html[Index] -> link:other.html[Other information]
+The link:http://www.cherokee-project.com/[Cherokee Project] has a
+strong and active
+link:http://www.cherokee-project.com/community.html[Community]. We are
+on social media, mailing lists, blogs, planets, IRC channels,
+celebrate periodic summits, and so on, so it is really simple to
+discuss about the project and look for help.
+
+Social Media
+~~~~~~~~~~~~
+
+Follow link:http://twitter.com/webserver[Cherokee on Twitter].
+
+Join link:http://www.facebook.com/cherokee.project[Cherokee on
+Facebook]
+
+
Mailing Lists
~~~~~~~~~~~~~
@@ -21,6 +37,33 @@ These are the lists currently in existence:
- link:http://lists.octality.com/listinfo/cherokee-commits[SVN Reports]
+#cherokee IRC channel
+~~~~~~~~~~~~~~~~~~~~~
+
+Join us at the link:irc://irc.freenode.net/cherokee[#cherokee IRC
+channel]. Many of our members and core-deveolpers are always hanging
+around, so after the mailing lists it is the second best place to look
+for answers and help.
+
+
+The Cherokee Planet
+~~~~~~~~~~~~~~~~~~~
+
+Planets are a powerful tool to know what the developers of a project
+are up to. link:http://planet.cherokee-project.com/[Planet Cherokee]
+will let you follow what our deveolpers and contributors are doing
+with their time. It might not always be related to the Cherokee
+Project, but it is guaranteed to be interesting stuff.
+
+
+The Cherokee Blog
+~~~~~~~~~~~~~~~~~
+
+The project has its own
+link:http://blog.cherokee-project.com/[blog]. It is a great place to
+look for information about out latest developments.
+
+
Bug Tracker
~~~~~~~~~~~
@@ -61,4 +104,3 @@ More resources:
* link:http://www.mobygeek.net/blog/2008/12/07/munin-cherokee-plugin/[Munin
Plugin] for plotting the web server.
-
View
13 doc/other_errors.txt
@@ -1,10 +1,10 @@
== link:index.html[Index] -> link:other.html[Other information]
///////////////////////////////////////////////////////////////////
Last checked:
-* Cherokee 0.99.25
+* Cherokee 1.0.0
-This document will be obsoleted as soon as the new error reporting
-system is put in place.
+This document is mostly obsoleted by the built-in reporting system.
+It is kept here in case it is still not enough.
///////////////////////////////////////////////////////////////////
Most common production server errors with Cherokee
@@ -28,6 +28,13 @@ Most common production server errors with Cherokee
unable to start an interpreter or connect to the remote host that
has the information source defined.
+- *Page 400*
+
+ If you are repeatedly receiving a 400 error while uploading files to
+ a PHP backend, it could very well be related to PHP being the one
+ restricting uploads bigger than a certain size. Check the [PHP
+ recipe] for more details on how to fix this.
+
- *CLI*: Can't bind() socket (port=80, UID=1000, GID=1000)
Most likely Cherokee is unable to start because you are not
View
7 doc/other_faq.txt
@@ -190,3 +190,10 @@ documentation.
=== I'm using *BSD and can't compile Cherokee. What's wrong?
Make sure you are building it with `gmake`.
+
+[[faq18]]
+=== Why do I keep getting HTTP Error 400 while uploading files to a PHP back-end?
+
+PHP is configured by default to limit the size of uploaded
+files. Check the link:cookbook_php.html#upload_limits[PHP upload
+limits] note to tweak the appropriate settings.

0 comments on commit 2d3894d

Please sign in to comment.
Something went wrong with that request. Please try again.