tobychui / zoraxy

A general purpose HTTP reverse proxy and forwarding tool. Now written in Go!
https://zoraxy.aroz.org
GNU Affero General Public License v3.0
3.09k stars 187 forks source link

[BUG] Uptime Page probleme "Downstream proxy server is online with misconfigured settings" #91

Closed barto95100 closed 8 months ago

barto95100 commented 11 months ago

The backend is confifured properly... but I don't know why the uptime monitor show this : CleanShot 2024-01-01 at 18 41 48

no ssl on backend

tobychui commented 11 months ago

The reason the up-time monitor show this is that the target is reachable but gives an HTTP status code of not 200. I tried your URL and it is not reachable from my side, so you might be using custom DNS or something, which means this is a problem of your network configuration than an actual Zoraxy bug.

Please tag me to re-open this issue if you have clear evidence that this is a bug generated by Zoraxy.

P.S. reachable in your host doesn't mean the same URL is reachable in your docker container. I am no docker expert so if you need help regarding docker networking, you might need to find PassiveLemon for this matter.

barto95100 commented 11 months ago

@tobychui YEs the url in my screen is the container name the ping from zoraxy to container is ok :

CleanShot 2024-01-02 at 17 43 54@2x

It's not possible to test with curl on container zoraxy because not possible to install it....

do you have idea how to debug the response http from zoraxy to backend container response ?

tobychui commented 11 months ago

@barto95100 I don't know, I don't use docker. Maybe you can just use your browser to access that endpoint and get me the list of response from your site? (e.g. in browser trace HAR file) Otherwise I have no idea how to help you further.

barto95100 commented 11 months ago

OK @tobychui

I install the container with curl commande, configure the container to access the same network of my backend container and test cli command:

curl -v container_name_backend:port

the result:

root@7e59b18dbd73:/# curl -v http://docker-ghostdockercompose-1:2368
*   Trying 172.18.0.4:2368...
* Connected to docker-ghostdockercompose-1 (172.18.0.4) port 2368 (#0)
> GET / HTTP/1.1
> Host: docker-ghostdockercompose-1:2368
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< X-Powered-By: Express
< Cache-Control: public, max-age=31536000
< Location: https://docker-ghostdockercompose-1:2368/
< Vary: Accept, Accept-Encoding
< Content-Type: text/plain; charset=utf-8
< Content-Length: 75
< Date: Wed, 03 Jan 2024 08:30:17 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host docker-ghostdockercompose-1 left intact
Moved Permanently. Redirecting to https://docker-ghostdockercompose-1:2368/
tobychui commented 11 months ago

@barto95100 cool, this is a helpful bug report you just gave! I will look into this further.

tobychui commented 8 months ago

圖片

圖片

Cannot reproduce. In fact, the logic in the uptime monitor front-end is as follows.

 if (value[value.length - 1].StatusCode >= 500 && value[value.length - 1].StatusCode < 600){
                currentOnlineStatus = `<i class="exclamation circle icon"></i> Misconfigured`;
                onlineStatusCss = `color: #f38020;`;
                reminderEle = `<small style="${onlineStatusCss}">Downstream proxy server is online with misconfigured settings</small>`;

This shows that the status code you are getting after the redirection is in the 500 - 600 range. I guess it is really misconfiguration issue instead of a bug in the up time monitor.

mflagler commented 6 months ago

I'm also experiencing the same issue with it showing that there's a misconfiguration (although I was just running this as a test to see if it's something I could use). As my test, I just set up "localhost" as my matching domain, and the target IP:PORT which was running on a different PC. The initial page when accessing automatically redirects (302) a few times based on if the user is logged in already or not and to get to a landing page, but the final landing page returns 200. The reverse proxy works fine, but the uptime monitor shows the misconfiguration error mentioned here.

tobychui commented 6 months ago

@mflagler Do you have a network trace file for your case? If yes, please open a new issue that specify what system you are using (as downstream) that causes this issue.