nuber-io / nuber

Virtualization management software
https://www.nuber.io
GNU Affero General Public License v3.0
29 stars 5 forks source link

Terminal not working in the containers #21

Closed 4abhinavjain closed 2 years ago

4abhinavjain commented 2 years ago

Good work, Jamie with the Nuber app. It is a great tool that you have develop.

I installed it today on a arm64 VM and installation went well. Initially, the terminal in the GUI was working well however I don't see it working anymore (image below). I inspected it further and it say (replaced domain and IP with XXX):

[Report Only] Refused to connect to 'wss://XXX.XXXX.COM/?server=XXX:8443/1.0/operations/07175bab-267c-49ce-bb6e-e0c37cbfe1ee/websocket?secret=XXXXXX3d00fffd44d3ff2b2a4075604b5b6a8871c0551ceecXXXX' because it violates the following Content Security Policy directive: "default-src https: data: blob:". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback.

Is there a way to fix it? Also, I noticed that I am not able to create a new instance from the GUI (It says: Error creating instance.) but it is fine to create one from the CLI of the host server.

Thanks and I look forward to your response.

jamielsharief commented 2 years ago

Some private information is in the screenshot, you may need to edit the image.

Do you get the same error in Chrome or with disabling some of the plugins you are using?

jamielsharief commented 2 years ago

The content security policy is only set for the login pages to secure it, this does not affect other pages. I am guessing it is your web brower or an extension which is causing some issues.

I have fixed some issues, such as image url and a bug fix due to a change in the LXD which preventing new containers from being created. You will need to follow the update instructions.

4abhinavjain commented 2 years ago

Hi Jamiel, thanks for highlighting the private info part. I have removed the image.

I used it on Edge and actually it worked in the beginning. I will try on other browsers and update you in the coming days.

Thanks for updating the app. I will try and get back to you.

jamielsharief commented 2 years ago

On your server, run the following command to go into the nuber container

$ lxc exec nuber-app bash

Once in the nuber app container

$ cd /var/www
$ vendor/bin/updater update --all
$ bin/console cache:clear
$ bin/console image:list
4abhinavjain commented 2 years ago

Thanks, Jamiel. I tried to update but I get the following error.

`bin/console image:list ConnectionException Could not resolve host: uk.images.linuxcontainers.org

vendor/originphp/http-client/src/Http.php 322

317 $errorMessage = curl_error($curl); 318 $status = ($code === CURLE_OPERATION_TIMEOUTED)?500:504; // error 500 or gateway timeout 319 curl_close($curl); 320 321 if (in_array($code, [CURLE_COULDNT_RESOLVE_PROXY,CURLE_COULDNT_RESOLVE_HOST,CURLE_COULDNT_CONNECT,CURLE_OPERATION_TIMEDOUT])) { 322 throw new ConnectionException($errorMessage, $status); 323 } 324 if ($code === CURLE_TOO_MANY_REDIRECTS) { 325 throw new TooManyRedirectsException($errorMessage, $status); 326 } 327

Stack Trace

ConnectionException vendor/originphp/http-client/src/Http.php 322

Origin\HttpClient\Http send vendor/originphp/http-client/src/Http.php 400

Origin\HttpClient\Http request vendor/originphp/http-client/src/Http.php 176

Use --verbose to see the full backtrace. `

jamielsharief commented 2 years ago

Did you run $ vendor/bin/updater update --all first? That error is because it has not been updated.

4abhinavjain commented 2 years ago

Yes, I followed the command in the given order. I did it, but it showed (and still is showing) that no update is available

__ __ __ __ / / / /___ ____/ /___ _/ /____ _____ / / / / __ \/ __ / __/ / \/ / / // / // / // / // / // / / __/ .__/_,/_,/__/__// /_/

version 0.1.0

No updates found`

jamielsharief commented 2 years ago

Sorry my bad, still using the old satis server. Try now.

4abhinavjain commented 2 years ago

Great! Thank you. I can confirm that updater is now working and I am now able to create new instances from the GUI.

Terminal is still not working yet. I have a feel that it stopped working from the GUI after I unset the secret password (although, I have yet to test this hypothesis).

jamielsharief commented 2 years ago

If you can create instances, then terminal should work too. You can try restarting the nuber container app from the command line, and this will restart the websocket server as well. But if your browser is giving up security issues, then you try another browser as it's likely blocking communications

4abhinavjain commented 2 years ago

Thanks, Jamiel. I will try it this weekend and I will update here accordingly.

Febtw commented 2 years ago

Hi. I am also troubled by this problem. I checked the browser and got two errors.

image

DevTools failed to load source map: Could not load content for https://34.125.133.35:3000/cache_js/bootstrap.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for https://34.125.133.35:3000/js/xterm.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

jamielsharief commented 2 years ago

From the LXC server update the nuber container and restart incase the websocket server crashed.

Logout to close the terminal to make sure its not sill communicating, it should not make a difference, but do it anyway.

$ lxc exec nuber-app bash
$ cd /var/www
$ vendor/bin/updater update --all
$ exit
$ lxc restart nuber-app

For more information on updates see https://www.nuber.io/docs/nuber/updates/

Febtw commented 2 years ago

I have tried update, but No updates found image

Febtw commented 2 years ago

Is there a way to reinstall to the lastest version?

jamielsharief commented 2 years ago

That is the latest version have you tried restarting the container? Is it just a particular distribution, is the error even the same as this actual issue? Are you able to create new containers from the menu and access terminal?

Febtw commented 2 years ago

nuber is doing everything well, except the web terminal. I have created new containers from the menu and tried restarting the containers, but the web terminal still doesn't work and browser errors still exist. image image

I have tried several distributions, but I don't know "is the error even the same as this actual issue?", does it means the errors are still there? Yes I‘m able to create new containers from local terminal

jamielsharief commented 2 years ago

This issue was related to the ` Refused to connect to 'wss://XXX.XXXX.COM/?server=XXX:8443/1.0/operations/07175bab-267c-49ce-bb6e-e0c37cbfe1ee/websocket?secret=XXXXXXXXX' because it violates the following Content Security Policy directive, according to the console there seem to be no errors. Perhaps we should open this on a separate issue.