-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSH by default #1
Comments
Agreed. We can easily set it up to listen on SSH. We could include instructions for someone to install "Let's Encrypt" so that it wouldn't throw warnings. |
I love LE; however, that requires the docker image be internet-accessible at time of provision to generate the cert.... edit: someone else has done this already ;-) let's not reinvent the wheel |
Yes... We would have to live with the browser warnings, although we can still include instructions if someone is installing this on their web server |
This is my next order of business |
@crossan007 , I have pushed a new branch to update Docker to the newest released version of ChurchCRM. I will also work on having SSL's work w/ self-signed certificates. Let's Encrypt won't work on localhost. I just got SSL working on a different Docker project that I'm working with (using Nginx). It shouldn't be too difficult to do w/ Apache. |
Nice!! +1 for SSL |
@crossan007 I've got SSL working, auto-installed when building the images... Of course, as they are self signed, browsers throw a warning on the first visit. One issue is that Chrome 65 always shows "Not Secure" in big red letters on the top. From what I can tell in my research, there's no way of getting around that now... unless you have a domain and certificate that has been authorized by a third party. This is the error: (net::ERR_CERT_AUTHORITY_INVALID). I'm pretty sure we would have to live with it unless you have a better idea. |
Another side note. It may be worth having 2 or 3 versions of the system that can be run with multiple docker-compose files. "Production" which includes lets-encrypt, "development" which runs un-encrypted, and custom where a user can provide his cert file in a file... |
Agreed @ajcollett, although it's not possible to run lets encrypt on a local system without a fully qualified domain name. I can see:
|
I would like to agree with @ajcollett. In my case I have a docker image running in a kubernetes system. I am already SSL enabled, but the SSL connection is terminated at the kubernetes ingress, with kube-lego looking after the renewing of certificates from letsencrypt. Having kube-lego manage the SSL certificates means that all of my sites are managed in one place. If the docker container MUST have SSL terminated at the container this makes it difficult for me to manage. |
I wonder if it would be easier to run a simple reverse proxy in a separate container, instead of having the main container require SSL. Then the sys-admin can decide if he want to link to the SSL container, or his own. This will also mean less work for the maintainers, because ssl isn't a concern on the main app. |
That is exactly the situation with kubernetes. The kubernetes ingres is a reverse proxy (nginx in my case) which handles all the entry points for everything in my cluster. All SSL configuration is concentrated at the proxy and I don't have to worry about the individual apps. |
Great idea. That's exactly what we need to do. I'll set that up as well. Should be easy |
I've pushed another commit that has nginx working as a reverse proxy. I've set up 3 options for SSL. See the docker_compose.yml file for details.
I've also moved all secrets to one crm_secrets.json file. I still am having a few issues:
|
The back end not recognizing that the reverse proxy has terminated ssl is being considered in the backlog as issue ChurchCRM/CRM#4106 |
I think this should [also | exclusively] listen on SSH by default with a self signed cert.
It'll throw some warnings at user's browsers, but it should be secure by default
What does docker have in the way of cert utilities?
The text was updated successfully, but these errors were encountered: