Problem with Zinc and HTTPS
Hi guys. I have my own instance of SmalltalkHub running with nginx serving HTTPS in 443 and forwarding to my image that is listening with Zinc with HTTP in a particular port. In the CentOS 6.4 64bits server I get a ConnectionTimeout when trying to browse any of the repositories. The same image in my mac, works without problem. A couple of things: 1) I installed openssl and all Zodiac and Zinc-Zodiac tests are green 2) I have installed ConfigurationOfZincHTTPComponents version 2.4.3 on a Pharo 2.0 3) Doing a ZnClient new get:'https://www.google.com' brings me (I think) the correct result 4) Doing a "ldd libSqueakSSL.so" in the VM of the server I get: ./libSqueakSSL.so: /usr/lib/libssl.so.0.9.8: no version information available (required by ./libSqueakSSL.so) 5) I am NOT using default HTTPS port, instead a different one. Anyway, I specify the correct URL in the shub repo. 6) I do have the PharoDebug.log. I can share it if someone is interested in helping me ;) 7) The image DOES have access to internet. In fact, other http repositories DO work. 8) there aren't any proxies behind that I am aware of. 9) VM version is: VM: unix - i686 - linux-gnu - NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535 Any ideas? Anything else I could try? Thanks in advance, -- Mariano http://marianopeck.wordpress.com
Mariano, On 01 Jul 2013, at 22:05, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi guys. I have my own instance of SmalltalkHub running with nginx serving HTTPS in 443 and forwarding to my image that is listening with Zinc with HTTP in a particular port.
If nginx is serving HTTPS (reverse proxy-ing) to zinc HTTP, then you are not using any zodiac TLS/SSL in Pharo at all, right ? Or in any case, you shouldn't. Because proxy-ing HTTPS to HTTPS would be unnecessary/inefficient. So, I would do two things: look at nginx's error logs and try to access the zinc HTTP server in Pharo directly, bypassing nginx by temporarily opening the firewall, or tunnelling over ssh, or quickly with curl locally on the machine - it should work. You can send me the PharoDebug.log if you want. One problem I can think of, but that is for the StHub people to answer, is whether all generated URLs are properly relative. If not, they will fail when proxied by nginx. BTW, does the whole of StHub fail in your setup or only some operations ? Sven
In the CentOS 6.4 64bits server I get a ConnectionTimeout when trying to browse any of the repositories. The same image in my mac, works without problem.
A couple of things:
1) I installed openssl and all Zodiac and Zinc-Zodiac tests are green 2) I have installed ConfigurationOfZincHTTPComponents version 2.4.3 on a Pharo 2.0 3) Doing a ZnClient new get:'https://www.google.com' brings me (I think) the correct result 4) Doing a "ldd libSqueakSSL.so" in the VM of the server I get: ./libSqueakSSL.so: /usr/lib/libssl.so.0.9.8: no version information available (required by ./libSqueakSSL.so) 5) I am NOT using default HTTPS port, instead a different one. Anyway, I specify the correct URL in the shub repo. 6) I do have the PharoDebug.log. I can share it if someone is interested in helping me ;) 7) The image DOES have access to internet. In fact, other http repositories DO work. 8) there aren't any proxies behind that I am aware of. 9) VM version is: VM: unix - i686 - linux-gnu - NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535
Any ideas? Anything else I could try?
Thanks in advance,
-- Mariano http://marianopeck.wordpress.com
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
On Mon, Jul 1, 2013 at 6:43 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Mariano,
On 01 Jul 2013, at 22:05, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi guys. I have my own instance of SmalltalkHub running with nginx serving HTTPS in 443 and forwarding to my image that is listening with Zinc with HTTP in a particular port.
If nginx is serving HTTPS (reverse proxy-ing) to zinc HTTP, then you are not using any zodiac TLS/SSL in Pharo at all, right ? Or in any case, you shouldn't. Because proxy-ing HTTPS to HTTPS would be unnecessary/inefficient.
Sorry, I express myself wrong. Indeed, from the server side (the image running shub), I do not use Zodiac at all. But in another image (where I am having the problem), if I try to connect to the Monticello repository (served by HTTPS by nginx in the other server) I do have the problem and in this case I am trying to communicate via HTTPS from Pharo. Wouldn't be using Zodiac here?
So, I would do two things: look at nginx's error logs and try to access the zinc HTTP server in Pharo directly, bypassing nginx by temporarily opening the firewall, or tunnelling over ssh, or quickly with curl locally on the machine - it should work.
good, that was in my to-do.
You can send me the PharoDebug.log if you want.
Ok, I will send it to you. But don't spend more than 2 minutes on it. Let me try the rest of the things.
One problem I can think of, but that is for the StHub people to answer, is whether all generated URLs are properly relative. If not, they will fail when proxied by nginx.
Indeed. But getting a ConnectionTimeout is weird (I guess it should not be the error throw in such a case).
BTW, does the whole of StHub fail in your setup or only some operations ?
I will try that tomorrow also. Thanks Sven. I will try and let you know.
Sven
In the CentOS 6.4 64bits server I get a ConnectionTimeout when trying to browse any of the repositories. The same image in my mac, works without problem.
A couple of things:
1) I installed openssl and all Zodiac and Zinc-Zodiac tests are green 2) I have installed ConfigurationOfZincHTTPComponents version 2.4.3 on a Pharo 2.0 3) Doing a ZnClient new get:'https://www.google.com' brings me (I think) the correct result 4) Doing a "ldd libSqueakSSL.so" in the VM of the server I get: ./libSqueakSSL.so: /usr/lib/libssl.so.0.9.8: no version information available (required by ./libSqueakSSL.so) 5) I am NOT using default HTTPS port, instead a different one. Anyway, I specify the correct URL in the shub repo. 6) I do have the PharoDebug.log. I can share it if someone is interested in helping me ;) 7) The image DOES have access to internet. In fact, other http repositories DO work. 8) there aren't any proxies behind that I am aware of. 9) VM version is: VM: unix - i686 - linux-gnu - NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535
Any ideas? Anything else I could try?
Thanks in advance,
-- Mariano http://marianopeck.wordpress.com
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
-- Mariano http://marianopeck.wordpress.com
On 02 Jul 2013, at 01:16, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Sorry, I express myself wrong. Indeed, from the server side (the image running shub), I do not use Zodiac at all. But in another image (where I am having the problem), if I try to connect to the Monticello repository (served by HTTPS by nginx in the other server) I do have the problem and in this case I am trying to communicate via HTTPS from Pharo. Wouldn't be using Zodiac here?
Ah, I misunderstood. Yes, to access an HTTPS based repository, you need Zodiac. If all Zn+Zdc tests are green, that means you are good. I see that you get a ConnectionTimedOut error while connecting, that's like the very first step ;-) What I would do is: make sure you can access your HTTPS repo in other ways, using a regular browser and/or curl. You know, MC repo serving is just plain HTTP(S) with basic authentication: you should be able to list a repo or download a version using any other means. If that works, try to do the same using ZnClient, like this: ZnClient new username: 'marianopech' password: 'secret'; get: 'http://www.smalltalkhub.com/mc/SvenVanCaekenberghe/STON/main/Ston-Core-SvenV...'. Good luck ! Sven PS: I also see you are using a numeric IP address, not a DNS name. That won't work with virtual hosts AFAIK. -- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
Hi Sven. Thanks for the help. Together with your tests and a few others I finally found my problem. In this case, I was trying to access the Shub repo from a VirtualBox image. The Shub is hosted by ANOTHER VBox image but both are in the same HOST machine. Since the URL of the shub repo contains the external IP (because is the same URL written in the ConfigurationOf etc), this is understood by the router as loopback. From what I understand, most router disable or directly do not allow loopback because of security....so that was the problem. Thanks for the help! On Tue, Jul 2, 2013 at 5:09 AM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 02 Jul 2013, at 01:16, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Sorry, I express myself wrong. Indeed, from the server side (the image running shub), I do not use Zodiac at all. But in another image (where I am having the problem), if I try to connect to the Monticello repository (served by HTTPS by nginx in the other server) I do have the problem and in this case I am trying to communicate via HTTPS from Pharo. Wouldn't be using Zodiac here?
Ah, I misunderstood.
Yes, to access an HTTPS based repository, you need Zodiac. If all Zn+Zdc tests are green, that means you are good.
I see that you get a ConnectionTimedOut error while connecting, that's like the very first step ;-)
What I would do is: make sure you can access your HTTPS repo in other ways, using a regular browser and/or curl. You know, MC repo serving is just plain HTTP(S) with basic authentication: you should be able to list a repo or download a version using any other means.
If that works, try to do the same using ZnClient, like this:
ZnClient new username: 'marianopech' password: 'secret'; get: ' http://www.smalltalkhub.com/mc/SvenVanCaekenberghe/STON/main/Ston-Core-SvenV... '.
Good luck !
Sven
PS: I also see you are using a numeric IP address, not a DNS name. That won't work with virtual hosts AFAIK.
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
-- Mariano http://marianopeck.wordpress.com
participants (2)
-
Mariano Martinez Peck -
Sven Van Caekenberghe