GithubHelp home page GithubHelp logo

Comments (7)

aragilar avatar aragilar commented on July 4, 2024 1

So I thought wrapping the server with apache (at AAO North Ryde) would be enough to get https, but the subscription service (on the client side at the AAT) only supports http (so we can't talk to the https server), which is where we need to add the https (so we're not touching the server logic, apart from adding https to the subscription internals). From what internals I've read, as long as we handle the switching between http and https inside ngramsHttpUtils module, then we should have the subscription service (from the client side) have full https support (plus the ngamsPClient will probably get it as a bonus, though I'll leave any explicit support to a later PR if needed).

from ngas.

rtobar avatar rtobar commented on July 4, 2024

Hi @aragilar, similarly to #9, could you clarify the final intent of the changes? The description here and in #9 give me the impression that you either want to add full HTTPS support to NGAS as a whole (not a minor task), or that you'll be pushing files through HTTPS to a separate service. Or are you planning to put a proxy between the two instances to receive via HTTPS and internally proxy via HTTP? I remember you had questions about proxying, so maybe that's what you are planning to do?

Regardless of that, I don't see in principle any problems with adding this.

from ngas.

rtobar avatar rtobar commented on July 4, 2024

Ohhh, by the way, I should actually merge next into master, it doesn't really make sense to maintain two "bleeding edge" branches at all. After that you should be OK branching off the master branch for both PRs.

from ngas.

rtobar avatar rtobar commented on July 4, 2024

Good, that sounds great :)

from ngas.

aragilar avatar aragilar commented on July 4, 2024

I've nearly got something working, I'm still kinda confused what's the purpose of the ngas_hosts table, is that shared between the nodes? It looks like it's used in the proxying logic, but the host_id and domain look to be really short? If the main purpose is proxying, would it be possible to add a column (or another table) with the url the service is running at (including protocol, so we can switch between http and https)?

from ngas.

awicenec avatar awicenec commented on July 4, 2024

from ngas.

rtobar avatar rtobar commented on July 4, 2024

@aragilar thanks for the update, I'm glad things are going well on your end.

If I understand correctly, you are trying to deploy a subscription like this: NGAS A ----https---> your-proxy ----http---> NGAS B. In this scenario A and B are two separate clusters, have their own database (hence they can't "see" each other that way), and thus there is nothing to be gained by adding, say, an https url in B's ngas_hosts table.

As you found out, and @awicenec points out, the ngas_hosts table makes sense when you think on a deployment of several servers against a single database (hence, a single cluster). In that scenario they all get to know who is present in this shared deployment, which files are were, how to proxy, etc. So yes, it's used for the proxying, but also for other things in multi-server deployments. I agree with Andreas that, if anything, we would add a protocol column, but since the NGAS server currently supports http only there is no need for even that.

Does that clarify a bit the situation?

from ngas.

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.