<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
<title>Cloudron - Not Found</title>
<meta name="description" content="Cloudron - Not Found">
<!-- Use static style as we can't include local stylesheets -->
<style>
html {
height: 100%;
width: 100%;
padding: 0;
}
body {
background-color: white;
padding: 0;
margin: 0;
height: 100%;
width: 100%;
text-align: center;
font-family: "Noto Sans", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 1.846;
}
.content {
display: flex;
width: 100%;
height: 100%;
flex-direction: column;
justify-content: center;
}
a {
color: #2196f3;
text-decoration: none;
background-color: transparent;
}
a:hover {
color: #0a6ebd;
text-decoration: underline;
}
</style>
<script type="text/javascript">
window.addEventListener('load', (event) => {
// https://stackoverflow.com/questions/37437890/check-if-url-has-domain-name-and-not-an-ip
const containsLetter = /[a-zA-z]/.test(window.location.hostname); // ignore technicality that IP can contain letters ! http://192.168.0x1.0x1 or http://0xc0.0xa8.1.1
const isIPv6 = location.hostname.startsWith('[') && location.hostname.endsWith(']');
let message;
if (!containsLetter || isIPv6) { // ipv4 or ipv6
message = 'You cannot view Cloudron dashboard by IP address. Instead, navigate to the domain you configured during setup i.e <b>https://my.domain.example</b> .'
+ '<br>If you do not remember your domain, SSH into your server and run <code>cloudron-support --owner-login</code> .'
} else { // hostname
message = 'You are seeing this page because the DNS record of <b>' + window.location.hostname + '</b> is set to this server\'s IP'
+ ' but Cloudron has no app configured for this domain.';
}
document.getElementById('message').innerHTML = message;
});
</script>
</head>
<body>
<div class="content">
<p id="message"></p>
</div>
</body>
</html>
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 12 Dec 2024 17:20:00 GMT
Content-Type: text/html
Content-Length: 2556
Last-Modified: Fri, 08 Nov 2024 19:36:51 GMT
Connection: keep-alive
ETag: "672e6853-9fc"
Accept-Ranges: bytes