Hi!

This is because you need to proxy the websocket protocol. You may want to read up on it in [1] and [2].
[2] being the reference point and [1] being an introductory blog post with a simple app example to try out if your config is all right.

[1] https://www.nginx.com/blog/websocket-nginx/
[2] http://nginx.org/en/docs/http/websocket.html

Kind regards,
Radek
-yoctozepto

On Tue, 13 Sept 2022 at 11:11, 박경원 <park0kyung0won@dgist.ac.kr> wrote:

Hello


I'm trying to deploy openstack services behind the NGINX reverse proxy

NGINX is in charge of SSL termination, and communicates with openstack services unencrypted


When I set "html5proxy_base_url" option in [spice] section of nova.conf file to "http://my-domain-name:6082/spice_auto.html", 

spice console in web UI works(by manually typing http://my-domain-name:6082/spice_auto.html in browser address tab), but chrome refuses to load spice console because its http


If I change html5proxy_base_url to "https://my-domain-name:6082/spice_auto.html",

spice console page(spice_auto.html) loads in chrome, but console itself is blank

And I get following errors from chrome developer tools console:


>> disconnect spice_auto.html?toke…8-3a537f56f5b0):144

<< disconnect spice_auto.html?toke…8-3a537f56f5b0):157 

ERROR: Error: Unexpected protocol mismatch.


Seems like spice-html5 uses different protocol based on "html5proxy_base_url" option in /etc/nova/nova.conf (whether its https:// or http://)

How can I deploy nova-spiceproxy behind the NGINX reverse proxy, while NGINX is acting as SSL termination point?


Thanks