-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
nsqadmin: doesn't handle nsqd --tls-required flag #396
Conversation
Guys, are these screenshots indicative of this bug? If not, what am I doing wrong? And if so, are you looking to fix this anytime soon? |
Super! Thanks. |
Was there a reason for waiting to fix this until after the nsqadmin refactoring, i.e. the refactoring would allow for something that wasn't possible in 0.3.x? I can't see a reason why nsqadmin couldn't have just attempted a TLS connection after receiving the 403 TLS_REQUIRED error. In any case, it looks like #323 is coming along nicely! Which of the above (1, 2 or 3) will be the chosen solution? I would think number 1 and 2 are both required, for instances where nsqlookupd is and is not being used. But also, a simple non-TLS -> TLS "retry" logic would also work I think; nsqadmin would then remember what worked for that nsqd instance. |
No particular reason, just trying to land that monster sometime this century! 😜 I thought about "negotiating" like you've suggested, but I think the problem is that nsqadmin doesn't know the HTTPS port to try 😐 |
Haha, fair enough.
Oh ok, I figured it would be on the same port (4151) except it would be a socket that performs a TLS upgrade/handshake instead, i.e. it wouldn't necessarily be an https scheme'ed URL although that would make most http client libraries happier. But no worries, I appreciate the clarification! |
Perhaps there also needs to be some way to know that a certificate may be "self signed" and not to verify. This is useful in development environments (but not always desired in production). |
eureka, what if the HTTP 403 response included a payload that directed you towards the configured HTTPS port!!!!!!!!!!! |
ff9774b
to
95e81fe
Compare
RFR @jehiah This updates {
"message": "TLS_REQUIRED",
"https_port": 4152
} It updates |
95e81fe
to
b7f812d
Compare
LGTM |
nsqadmin: doesn't handle nsqd --tls-required flag
When do you all expect to make another stable release, with this functionality included? Thanks in advance. |
@jnicholls soon - we plan on addressing #421 and then stamping a stable release. |
That's great news, thanks @mreiferson! |
From https://groups.google.com/d/msg/nsq-users/PkkPN9z7gPc/6EgTyHmuvg0J
nsqadmin
cannot correctly negotiate TLS whennsqd
in the cluster are configured with--tls-required
.Not sure yet how to fix this, some thoughts:
nsqadmin
needs to be able to specify scheme in the--nsqd-http-address
flagnsqd
needs to propagate TLS status tonsqlookupd
, which needs to return this in its API responsesnsqadmin
will pivot on (1) and (2) to negotiate which scheme to useThoughts @jehiah?