Those slave instances will be redirected to the "master" instance,
Those slave instances will be redirected to the "master" instance,
and you will see on the "master" instance the associated RewriteRules of
and you will see on the "master" instance the associated RewriteRules of
all slave instances.
all slave instances.
Finally, the slave instance will be accessible from:
Finally, the slave instance will be accessible from:
https://someidentifier.moulefrite.com.
https://someidentifier.moulefrite.org.
Instance Parameters
Instance Parameters
===================
===================
...
@@ -44,16 +44,21 @@ Master Instance Parameters
...
@@ -44,16 +44,21 @@ Master Instance Parameters
domain
domain
~~~~~~
~~~~~~
name of the domain to be used (example: mydomain.com). Subdomains of this domain will be used for the slave instances (example: instance12345.mydomain.com). It is then recommended to add a wildcard in DNS for the subdomains of the chosen domain like::
name of the domain to be used (example: mydomain.com). Subdomains of this
domain will be used for the slave instances (example:
instance12345.mydomain.com). It is then recommended to add a wildcard in DNS
for the subdomains of the chosen domain like::
*.mydomain.com. IN A 123.123.123.123
*.mydomain.com. IN A 123.123.123.123
Using the IP given by the Master Instance.
Using the IP given by the Master Instance.
"domain" is a mandatory Parameter.
"domain" is a mandatory Parameter.
port
port
~~~~
~~~~
Port used by Apache. Optional parameter, defaults to 443.
Port used by Apache. Optional parameter, defaults to 4443.
plain_http_port
Port used by apache to serve plain http (only used to redirect to https).
Optional parameter, defaults to 8080.
Slave Instance Parameters
Slave Instance Parameters
-------------------------
-------------------------
...
@@ -62,24 +67,53 @@ url
...
@@ -62,24 +67,53 @@ url
~~~
~~~
url of backend to use.
url of backend to use.
"url" is a mandatory parameter.
"url" is a mandatory parameter.
Example: http://mybackend.com/myresource
Example: http://mybackend.com/myresource
cache
cache
~~~~~
~~~~~
Specify if slave instance should use a varnish / stunnel to connect to backend.
Specify if slave instance should use a varnish / stunnel to connect to backend.
Possible values: "true", "false".
Possible values: "true", "false".
"cache" is an optional parameter. Defaults to "false".
"cache" is an optional parameter. Defaults to "false".
Example: true
Example: true
zope
type
~~~~
~~~~
Specify if slave instance will redirect to a zope backend. If specified, Apache RewriteRule will use Zope's Virtual Host Daemon.
Specify if slave instance will redirect to a zope backend. If specified, Apache
Possible values : "true", "false".
RewriteRule will use Zope's Virtual Host Daemon.
"zope" is an optional parameter. Defaults to "false".
Possible values: "zope", "default".
Example : true
"type" is an optional parameter. Defaults to "default".
Example: zope
custom_domain
custom_domain
~~~~~~~~~~~~~
~~~~~~~~~~~~~
Domain name to use as frontend. The frontend will be accessible from this domain.
Domain name to use as frontend. The frontend will be accessible from this domain.
"custom_domain" is an optional parameter. Defaults to [instancereference].[masterdomain].
"custom_domain" is an optional parameter. Defaults to
Example : www.mycustomdomain.com
[instancereference].[masterdomain].
Example: www.mycustomdomain.com
Advanced example
================
Request slave frontend instance using a Zope backend, with Varnish activated,
listening to a custom domain::
instance = request(
software_release=apache_frontend,
partition_reference='frontend2',
shared=True,
partition_parameter_kw={
"url":"https://[1:2:3:4]:1234/someresource",
"cache":"true",
"type":"zope",
"custom_domain":"mycustomdomain.com",
}
)
Notes
=====
It is not possible with slapos to listen to port <= 1024, because process are
not run as root. It is a good idea then to go on the node where the instance is
and set some iptables rules like (if using default ports)::