diff --git a/docs/CONFIGURATION.rst b/docs/CONFIGURATION.rst index 2ee722d..d8b8c46 100644 --- a/docs/CONFIGURATION.rst +++ b/docs/CONFIGURATION.rst @@ -216,7 +216,7 @@ comments for a relative URL to support HTTP, HTTPS and even domain transfers without manual intervention. But you can chain Isso to support multiple websites on different domains. -The following example uses [gunicorn](http://gunicorn.org/) as WSGI server (you +The following example uses `gunicorn `_ as WSGI server (you can use uWSGI as well). It is *not* possible to run the isso executable for multiple sites. @@ -228,17 +228,23 @@ Let's say you maintain two websites, like foo.example and other.foo: [general] host = http://foo.example/ dbpath = /var/lib/isso/foo.example.db + $ cat /etc/isso.d/other.foo.cfg [general] host = http://other.foo/ dbpath = /var/lib/isso/other.foo.db + +Then you run Isso with gunicorn like this: + +.. code-block:: bash + $ export ISSO_SETTINGS="/etc/isso.d/foo.example.cfg;/etc/isso.d/other.foo.cfg" $ gunicorn isso.dispatch -b localhost:8080 Now, there are two options to configure the webserver: - 1. using a single host to serve comments for both websites - 2. different hosts for both websites +1. using a single host to serve comments for both websites +2. different hosts for both websites In the former case, Isso dispatches based on the HTTP Referer and (if provided) HTTP Origin. If you expect users to supress their referer completely, you @@ -246,49 +252,49 @@ should use the second option. 1. Using a single host to serve comments. - .. code-block:: nginx + .. code-block:: nginx - server { - listen [::]:80; - server_name comments.example; + server { + listen [::]:80; + server_name comments.example; - location / { - proxy_pass http://localhost:8080; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Real-IP $remote_addr; - } - } + location / { + proxy_pass http://localhost:8080; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + } + } - To verify the setup, run: + To verify the setup, run: - .. code-block:: bash + .. code-block:: bash - $ curl -vH "Origin: http://foo.example" http://comments.example/ - ... - $ curl -vH "Origin: http://other.foo" http://comments.example/ - ... + $ curl -vH "Origin: http://foo.example" http://comments.example/ + ... + $ curl -vH "Origin: http://other.foo" http://comments.example/ + ... - In case of a 418 (I'm a teapot), the setup is *not* correctly configured. + In case of a 418 (I'm a teapot), the setup is *not* correctly configured. 2. Using different hosts for both websites (no need for a dedicated domain, - you can also proxy Isso on a sub-uri like /isso). + you can also proxy Isso on a sub-uri like /isso). - .. code-block:: nginx + .. code-block:: nginx - server { - listen [::]:80; - server_name comments.foo.example comments.other.foo; + server { + listen [::]:80; + server_name comments.foo.example comments.other.foo; - location / { - proxy_pass http://localhost:8080; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Real-IP $remote_addr; - } - } + location / { + proxy_pass http://localhost:8080; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + } + } - No need to verify this setup, here the webserver automatically sets the - proper host. + No need to verify this setup, here the webserver automatically sets the + proper host. Appendum