Coder Social home page Coder Social logo

Add SSL support about docker-gitlab HOT 5 CLOSED

sameersbn avatar sameersbn commented on August 26, 2024
Add SSL support

from docker-gitlab.

Comments (5)

sameersbn avatar sameersbn commented on August 26, 2024

@arnos i have published my ssl-support branch. There were a lot of use cases to take care of and I finally managed to get it done. I had to hack into the gitlab code to get things working.

Anyways, can you test the ssl support and confirm that it works for you? Instructions can be found in the README.

from docker-gitlab.

arnos avatar arnos commented on August 26, 2024

Must have missed something a I thought you were pulling my branch?

I'm a bit concerned with the fact you had to modify gitlab code as their
SSL support is pretty much out of the box.

I'll check it as soon as I can.

On Monday, April 28, 2014, Sameer Naik [email protected] wrote:

@arnos https://github.com/arnos i have published my ssl-support branch.
There were a lot of use cases to take care of and I finally managed to get
done. I had to hack into the gitlab code to get things working.

Anyways, can you test the ssl support and confirm that it works for you?
Instructions can be found in the READMEhttps://github.com/sameersbn/docker-gitlab/blob/feature/ssl-support/README.md#ssl
.


Reply to this email directly or view it on GitHubhttps://github.com//issues/54#issuecomment-41593806
.

from docker-gitlab.

sameersbn avatar sameersbn commented on August 26, 2024

@arnos its true that gitlab SSL support is supposed to work out of the box. But since we are containerizing the application I had to make minor and harmless edits to get it working for the various use cases.

There are a lot of topologies that have to be handled and various scenarios like

  • using a load balancer like haproxy
  • ensuring that git operations work with https
  • making sure everything works when the default ports are not used, etc.

Hopefully, I think I have taken care of all scenario's.

from docker-gitlab.

sameersbn avatar sameersbn commented on August 26, 2024

@arnos i was just thinking.
maybe we should remove all ssl configurations and also remove the nginx server and instead expose the unicorn worker on port 80 so that users can configure the SSL configuration in the host.

Right now this is the general use case:

On the host you install a load balancer such as hipache/haproxy or nginx. If you are enabling SSL support then it (SSL) has to also be configured at the load balancer and as such the internal SSL configuration is more or less pointless.

Inside the container we are running an nginx server which proxies connections to the unicorn workers. So in essence we have a stack that looks like this:
request -> load balancer -> nginx -> unicorn

If we remove the internal nginx, then the stack would look like this
request -> load balancer -> unicorn

By doing this change we will effectively be converting the gitlab application from a web server to a app server, which i think fits better with docker and as a side effect your access log collection will happen at the host.

Another problem we would be solving with this change is, if i am using nginx as my load balancer and if I want to change the client_max_body_size, then I have to configure this on the internal nginx server as well as at the load balancer (just found this out today). But with this change we only end up configuring this setting at one place.

The only downside to this that I can see is that you will not be able to enable ssl support if you decide to use the application without a load balancer, which I think should be fine.

what do you think?

from docker-gitlab.

arnos avatar arnos commented on August 26, 2024

as long as it is defined how to enable SSL from unicorn it should be fine.
again this goes back to issue #46

With an installer experience, you can ask the user if they have a load
balancer or not and if not offer to setup an nginx loadbalancer container.

On Tue, May 13, 2014 at 2:08 PM, Sameer Naik [email protected]:

@arnos https://github.com/arnos i was just thinking.
maybe we should remove all ssl configurations and also remove the nginx
server and instead expose the unicorn worker on port 80 so that users can
configure the SSL configuration in the host.

Right now this is the general use case:

On the host you install a load balancer such as hipache/haproxy or nginx.
If you are enabling SSL support then it (SSL) has to also be configured at
the load balancer as well and as such the internal SSL configuration is
more or less pointless.

Inside the container we are running an nginx server which proxies
connections to the unicorn workers. So in essence we have a stack that
looks like this:
request -> load balancer -> nginx -> unicorn

If we remove the internal nginx, then the stack would look like this
request -> load balancer -> unicorn

By doing this change we will effectively be converting the gitlab
application from a web server to a app server, which i think fits better
with docker and as a side effect your access log collection will happen at
the host.

Another problem we would be solving with this change is, if i am using
nginx as my load balancer and if I want to change the client_max_body_size,
then I have to configure this on the internal nginx server as well as at
the load balancer (just found this out today). But with this change we only
end up configuring this setting at one place.

The only downside to this that I can see is that you will not be able to
enable ssl support if you decide to use the application without a load
balancer, which I think should be fine.


Reply to this email directly or view it on GitHubhttps://github.com//issues/54#issuecomment-42990999
.

from docker-gitlab.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.