mirror of
https://github.com/cunnie/sslip.io.git
synced 2025-10-07 00:23:44 +08:00
tidy -im -w 120 index.html
This commit is contained in:
@@ -1,25 +1,20 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.6.0">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,
|
||||
initial-scale=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- The above 3 meta tags *must* come first in the head; any
|
||||
other head content must come *after* these tags -->
|
||||
<title>Welcome to sslip.io</title>
|
||||
<meta name="description" content="sslip.io">
|
||||
<meta name="author" content="Brian Cunnie">
|
||||
<!-- cute Green Lock icon -->
|
||||
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico">
|
||||
<!-- Latest
|
||||
<meta name="author" content="Brian Cunnie"><!-- cute Green Lock icon -->
|
||||
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico"><!-- Latest
|
||||
compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
|
||||
<!--
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"><!--
|
||||
Optional theme -->
|
||||
<link rel="stylesheet" href="css/starter-template.css">
|
||||
<!--
|
||||
<link rel="stylesheet" href="css/starter-template.css"><!--
|
||||
HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--
|
||||
WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
@@ -28,153 +23,177 @@ IE 9]> <script
|
||||
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script
|
||||
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
|
||||
data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="sr-only">Toggle navigation </span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button> <a class="navbar-brand" href="/">sslip.io</a> </div>
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
|
||||
aria-expanded="false" aria-controls="navbar"><span class="sr-only">Toggle navigation</span></button> <a class=
|
||||
"navbar-brand" href="/">sslip.io</a>
|
||||
</div>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="active"><a href="/">Home</a></li>
|
||||
<!--
|
||||
<li class="active">
|
||||
<a href="/">Home</a>
|
||||
</li><!--
|
||||
<li><a href="faq.html">FAQ</a></li>
|
||||
<li><a href="about.html">About</a></li>
|
||||
-->
|
||||
</ul>
|
||||
</div>
|
||||
<!--/.nav-collapse -->
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</nav>
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3 id="sslip.io">sslip.io</h3>
|
||||
<p>Operational Status: <a href="https://ci.nono.io/?groups=sslip.io"><img src="https://ci.nono.io/api/v1/pipelines/sslip.io/jobs/check-dns/badge" alt="ci.nono.io" /></a> <sup><a href="#status" class="alert-link">[Status]</a></sup></p>
|
||||
<p><em>sslip.io</em> is a DNS (<a href="https://en.wikipedia.org/wiki/Domain_Name_System">Domain Name System</a>) service that, when queried with a hostname with an embedded IP address, returns that IP Address. It was inspired by and uses much of the code of <a href="http://xip.io">xip.io</a>, which was created by <a href="https://github.com/sstephenson">Sam Stephenson</a></p>
|
||||
<p>Operational Status: <a href="https://ci.nono.io/?groups=sslip.io"><img src=
|
||||
"https://ci.nono.io/api/v1/pipelines/sslip.io/jobs/check-dns/badge" alt="ci.nono.io"></a> <sup><a href="#status"
|
||||
class="alert-link">[Status]</a></sup></p>
|
||||
<p><em>sslip.io</em> is a DNS (<a href="https://en.wikipedia.org/wiki/Domain_Name_System">Domain Name System</a>)
|
||||
service that, when queried with a hostname with an embedded IP address, returns that IP Address. It was inspired
|
||||
by and uses much of the code of <a href="http://xip.io">xip.io</a>, which was created by <a href=
|
||||
"https://github.com/sstephenson">Sam Stephenson</a></p>
|
||||
<p>Here are some examples:</p>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>hostname</th>
|
||||
<th>IP Address</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td>192.168.0.1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>dot separators</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>192-168-0-1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>dash separators</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>www.192.168.0.1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>subdomain</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>www.192-168-0-1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>www-192-168-0-1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>embedded</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>–1.sslip.io</td>
|
||||
<td>::1</td>
|
||||
<td>IPv6 — always use dashes</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>2607-f8b0-400a-800–200e.sslip.io</td>
|
||||
<td>2607:f8b0:400a:800::200e</td>
|
||||
<td>IPv6</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>hostname</th>
|
||||
<th>IP Address</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td>192.168.0.1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>dot separators</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>192-168-0-1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>dash separators</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>www.192.168.0.1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>subdomain</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>www.192-168-0-1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>www-192-168-0-1.sslip.io</td>
|
||||
<td>192.168.0.1</td>
|
||||
<td>embedded</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>–1.sslip.io</td>
|
||||
<td>::1</td>
|
||||
<td>IPv6 — always use dashes</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>2607-f8b0-400a-800–200e.sslip.io</td>
|
||||
<td>2607:f8b0:400a:800::200e</td>
|
||||
<td>IPv6</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="branding">BRANDING</h3>
|
||||
<p>sslip.io can be used to brand your own site (you don’t need to use the sslip.io domain). For example, say you own the domain “example.com”, and you want your subdomain, “xip.example.com” to have xip.io-style features. To accomplish this, you’d need to set the following four DNS servers as NS records for the subdomain “xip.example.com”</p>
|
||||
<p>sslip.io can be used to brand your own site (you don’t need to use the sslip.io domain). For example, say you
|
||||
own the domain “example.com”, and you want your subdomain, “xip.example.com” to have xip.io-style features. To
|
||||
accomplish this, you’d need to set the following four DNS servers as NS records for the subdomain
|
||||
“xip.example.com”</p>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>hostname</th>
|
||||
<th>IP address</th>
|
||||
<th>Location</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><code>ns-aws.nono.io.</code></td>
|
||||
<td>52.0.56.137</td>
|
||||
<td>USA</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><code>ns-gce.nono.io.</code></td>
|
||||
<td>104.155.144.4</td>
|
||||
<td>USA</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><code>ns-azure.nono.io.</code></td>
|
||||
<td>52.187.42.158</td>
|
||||
<td>Singapore</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><code>ns-he.nono.io.</code></td>
|
||||
<td>78.46.204.247</td>
|
||||
<td>Germany</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th>hostname</th>
|
||||
<th>IP address</th>
|
||||
<th>Location</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td><code>ns-aws.nono.io.</code></td>
|
||||
<td>52.0.56.137</td>
|
||||
<td>USA</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><code>ns-gce.nono.io.</code></td>
|
||||
<td>104.155.144.4</td>
|
||||
<td>USA</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td><code>ns-azure.nono.io.</code></td>
|
||||
<td>52.187.42.158</td>
|
||||
<td>Singapore</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td><code>ns-he.nono.io.</code></td>
|
||||
<td>78.46.204.247</td>
|
||||
<td>Germany</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Let’s test it from the command line using <code>dig</code>:</p>
|
||||
<pre><code>dig +short 169-254-169-254.xip.example.com @ns-gce.nono.io.</code></pre>
|
||||
<pre>
|
||||
<code>dig +short 169-254-169-254.xip.example.com @ns-gce.nono.io.</code></pre>
|
||||
<p>Yields, hopefully: <sup><a href="#timeout" class="alert-link">[connection timed out]</a></sup></p>
|
||||
<pre><code>169.254.169.254</code></pre>
|
||||
<h4 id="tls-transport-layer-security">TLS (Transport Layer Security)</h4>
|
||||
<p>If you have a wildcard certificate for your sslip.io-style subdomain, you may install it on your machines for TLS-verified connections.</p>
|
||||
<p>If you have a wildcard certificate for your sslip.io-style subdomain, you may install it on your machines for
|
||||
TLS-verified connections.</p>
|
||||
<div class="alert alert-warning" data-role="alert">
|
||||
<p>When using a TLS wildcard certificate in conjunction with your branded sslip.io style subdomain, you must <b>use dashes not dots</b> as separators. For example, if you have the TLS certificate for <i>*.xip.example.com</i>, you could browse to https://https://52-0-56-137.xip.example.com/ but not https://52.0.56.137.xip.example.com/.</p>
|
||||
<p>When using a TLS wildcard certificate in conjunction with your branded sslip.io style subdomain, you must
|
||||
<b>use dashes not dots</b> as separators. For example, if you have the TLS certificate for
|
||||
<i>*.xip.example.com</i>, you could browse to https://https://52-0-56-137.xip.example.com/ but not
|
||||
https://52.0.56.137.xip.example.com/.</p>
|
||||
</div>
|
||||
<p>For a real-world example of a TLS wildcard cert and sslip.io domain, browse <a href="https://52-0-56-137.sslip.io" class="uri">https://52-0-56-137.sslip.io</a>.</p>
|
||||
<p>Pivotal employees can download the sslip.io TLS private key <a href="https://drive.google.com/open?id=0ByweFu4TspftMWJPdE1US0hQTGc">here</a>.</p>
|
||||
<hr />
|
||||
<p>For a real-world example of a TLS wildcard cert and sslip.io domain, browse <a href=
|
||||
"https://52-0-56-137.sslip.io" class="uri">https://52-0-56-137.sslip.io</a>.</p>
|
||||
<p>Pivotal employees can download the sslip.io TLS private key <a href=
|
||||
"https://drive.google.com/open?id=0ByweFu4TspftMWJPdE1US0hQTGc">here</a>.</p>
|
||||
<hr>
|
||||
<h4 id="footnotes">Footnotes</h4>
|
||||
<p><a name="status"><sup>[Status]</sup></a> A status of “build failing” rarely means the system is failing. It’s more often an indication that when the servers were last checked (currently every six hours), the CI (continuous integration) <a href="https://ci.nono.io/teams/main/pipelines/sslip.io">server</a> had difficulty reaching one of the four sslip.io nameservers. That’s normal. <sup><a href="#timeout" class="alert-link">[connection timed out]</a></sup></p>
|
||||
<p><a name="timeout"><sup>[connection timed out]</sup></a></p>
|
||||
<p>DNS runs over <a href="https://en.wikipedia.org/wiki/User_Datagram_Protocol">UDP</a> which has no guaranteed delivery, and it’s not uncommon for the packets to get lost in transmission. DNS clients are programmed to seamlessly query a different server when that happens. That’s why DNS, by fiat, requires at least two nameservers (for redundancy). From <a href="https://tools.ietf.org/html/rfc1034">IETF (Internet Engineering Task Force) RFC (Request for Comment) 1034</a>:</p>
|
||||
<p><a name="status" id="status"><sup>[Status]</sup></a> A status of “build failing” rarely means the system is
|
||||
failing. It’s more often an indication that when the servers were last checked (currently every six hours), the
|
||||
CI (continuous integration) <a href="https://ci.nono.io/teams/main/pipelines/sslip.io">server</a> had difficulty
|
||||
reaching one of the four sslip.io nameservers. That’s normal. <sup><a href="#timeout" class=
|
||||
"alert-link">[connection timed out]</a></sup></p>
|
||||
<p><a name="timeout" id="timeout"><sup>[connection timed out]</sup></a></p>
|
||||
<p>DNS runs over <a href="https://en.wikipedia.org/wiki/User_Datagram_Protocol">UDP</a> which has no guaranteed
|
||||
delivery, and it’s not uncommon for the packets to get lost in transmission. DNS clients are programmed to
|
||||
seamlessly query a different server when that happens. That’s why DNS, by fiat, requires at least two nameservers
|
||||
(for redundancy). From <a href="https://tools.ietf.org/html/rfc1034">IETF (Internet Engineering Task Force) RFC
|
||||
(Request for Comment) 1034</a>:</p>
|
||||
<blockquote>
|
||||
<p>A given zone will be available from several name servers to insure its availability in spite of host or communication link failure. By administrative fiat, we require every zone to be available on at least two servers, and many zones have more redundancy than that.</p>
|
||||
<p>A given zone will be available from several name servers to insure its availability in spite of host or
|
||||
communication link failure. By administrative fiat, we require every zone to be available on at least two
|
||||
servers, and many zones have more redundancy than that.</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</div><!-- /.container -->
|
||||
<!--
|
||||
Bootstrap core JavaScript ================================================== -->
|
||||
<!--
|
||||
Placed at the end of the document so the pages load faster -->
|
||||
<!-- jQuery
|
||||
(necessary for Bootstrap's JavaScript plugins) -->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
||||
<!--
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <!--
|
||||
Latest compiled and minified JavaScript -->
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<!--
|
||||
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <!--
|
||||
IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
<script src="https://raw.githubusercontent.com/twbs/bootstrap/master/docs/assets/js/ie10-viewport-bug-workaround.js"></script>
|
||||
|
||||
<script src=
|
||||
"https://raw.githubusercontent.com/twbs/bootstrap/master/docs/assets/js/ie10-viewport-bug-workaround.js"></script>
|
||||
<!--
|
||||
Google Analytics -->
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
@@ -191,5 +210,4 @@ Google Analytics -->
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user