Now that we have an object oriented architecture, we can properly implement the handling of SSL.
In the front end we have the hostingService_http and in the backend we have the provisionService_http classes.
We also have the default Apache implementation of these service types.
We need to introduce a new "Apache w/ SSL" class, that extends the default apache class with the additional functionality.
While the exact configurability still needs to be determined, this issue : #836136: Simplify ports support. gives us a start at least.
Because we are using inheritance, the SSL class will primarily be dropping down the parent methods, with slight additions.
As an example, when we are generating the Vhost on the standard port, the SSL variant will simply also create the 443 vhost.
This absolves the standard Apache class from the additional complexity involved in SSL.
Comments
Comment #1
adrian commentedSo i've simplified this even more: #537016: simple certificate management
The SSL class on the front end will only have the additional SSL port configurable.
On the backend, the class will be responsible for generating the ssl enabled virtual host for the site, using the IP address it's server has associated to the site's key.
Comment #2
adrian commentedthe front end class is pretty much done.
it should also be completely re-usable for nginx SSL support.
Comment #3
adrian commentedThis is done in dev-ssl.
i have complete front end and backend classes now, and i've refactored both to make it plug in incredibly cleanly.
Comment #4
adrian commentedmerged into master