fix: Use relative paths for noVNC

This commit is contained in:
Haozhe Xie
2024-11-15 11:12:16 +08:00
committed by GitHub
parent 771cecdefb
commit a37db1b054
4 changed files with 12 additions and 6 deletions

View File

@@ -34,6 +34,7 @@ RUN set -eu && \
tar -xf /tmp/novnc.tar.gz -C /tmp/ && \
cd "/tmp/noVNC-${VERSION_VNC}" && \
mv app core vendor package.json *.html /usr/share/novnc && \
sed -i "s|UI\.initSetting('path', 'websockify')|UI.initSetting('path', window.location.pathname.replace(/[^/]*$/, '').substring(1) + 'websockify')|" /usr/share/novnc/app/ui.js && \
unlink /etc/nginx/sites-enabled/default && \
sed -i 's/^worker_processes.*/worker_processes 1;/' /etc/nginx/nginx.conf && \
echo "$VERSION_ARG" > /run/version && \

View File

@@ -5,8 +5,8 @@
[1]
<meta http-equiv="Cache-Control" content="no-cache" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="/css/style.css" />
<link rel="icon" href="/img/favicon.svg" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="icon" href="img/favicon.svg" type="image/x-icon">
[2]
</head>
@@ -28,7 +28,7 @@
[5]
</footer>
</div>
<script type="text/javascript" src="/js/script.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</body>
</html>

View File

@@ -21,7 +21,7 @@ var webSocketFactory = {
function getInfo() {
var url = "/msg.html";
var url = "msg.html";
try {
if (window.XMLHttpRequest) {
@@ -69,7 +69,12 @@ function processInfo() {
if (notFound) {
setInfo("Connecting to VNC", true);
var webSocket = webSocketFactory.connect("ws://" + window.location.host + "/websockify");
var protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
var path = window.location.pathname.replace(/[^/]*$/, '').replace(/\/$/, '');
var wsUrl = protocol + "//" + window.location.host + path + "/websockify";
var webSocket = webSocketFactory.connect(wsUrl);
return true;
}

View File

@@ -40,7 +40,7 @@ server {
index vnc.html;
if ($request_uri = "/") {
return 301 /?resize=scale&reconnect=true&autoconnect=true;
return 301 ?resize=scale&reconnect=true&autoconnect=true;
}
}