mirror of
https://github.com/cunnie/sslip.io.git
synced 2025-12-24 12:12:48 +08:00
Beautified everything, again
wrapping is a pain--I needed to reflow and then beautify
This commit is contained in:
10
.jsbeautifyrc
Normal file
10
.jsbeautifyrc
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"html": {
|
||||
"unformatted": ["a", "sub", "sup", "b", "i", "u", "pre"],
|
||||
"wrap_line_length": 60,
|
||||
"wrap_attributes": "auto",
|
||||
"beautifyEntireFileOnSave": true,
|
||||
// "preserve_newlines": false,
|
||||
"indent_size": 2
|
||||
}
|
||||
}
|
||||
@@ -1,26 +1,23 @@
|
||||
<!doctype html>
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<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 -->
|
||||
|
||||
<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>About 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
|
||||
compiled and minified CSS -->
|
||||
<!--
|
||||
Latest compiled and minified 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">
|
||||
|
||||
<!-- 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
|
||||
@@ -32,19 +29,19 @@ come first in the head; any other head content must come *after* these tags -->
|
||||
</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>
|
||||
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>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
<div id="navbar" class="collapse
|
||||
navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="faq.html">FAQ</a></li>
|
||||
@@ -54,15 +51,18 @@ come first in the head; any other head content must come *after* these tags -->
|
||||
<!--/.nav-collapse -->
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="starter-template">
|
||||
<h1>About sslip.io</h1>
|
||||
<p><a href="https://github.com/tylerschultz">Tyler Schultz</a>, <a href="https://github.com/APShirley">Alvaro Perez Shirley</a>, and <a href="https://github.com/cunnie">Brian Cunnie</a> created sslip.io on Tuesday August 11, 2015 during a Pivotal Software-sponsored
|
||||
Hack Day. Thanks Pivotal!</p>
|
||||
<p><a href="https://github.com/sstephenson">Sam Stephenson</a> built <a href="http://xip.io/">xip.io</a>, upon which much of our code is based. He also suggested the name <i>sslip.io</i>.</p>
|
||||
<p><a href="https://github.com/justinjsmith">Justin Smith</a> advised us on the security implications of releasing an SSL certificate and key to the general public.</p>
|
||||
<p><a href="https://github.com/tylerschultz">Tyler Schultz</a>,
|
||||
<a href="https://github.com/APShirley">Alvaro Perez Shirley</a>,
|
||||
and <a href="https://github.com/cunnie">Brian Cunnie</a> created sslip.io on Tuesday August 11, 2015 during a
|
||||
Pivotal Software-sponsored Hack Day. Thanks Pivotal!</p>
|
||||
<p><a href="https://github.com/sstephenson">Sam Stephenson</a> built <a href="http://xip.io/">xip.io</a>, upon which
|
||||
much of our code is based. He also suggested the name
|
||||
<i>sslip.io</i>.</p>
|
||||
<p><a href="https://github.com/justinjsmith">Justin Smith</a> advised us on the security implications of releasing
|
||||
an SSL certificate and key to the general public.</p>
|
||||
<div class="row">
|
||||
<p></p>
|
||||
</div>
|
||||
@@ -70,7 +70,6 @@ come first in the head; any other head content must come *after* these tags -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
<!-- Bootstrap core JavaScript ================================================== -->
|
||||
<!--
|
||||
Placed at the end of the document so the pages load faster -->
|
||||
@@ -83,20 +82,21 @@ come first in the head; any other head content must come *after* these tags -->
|
||||
<!--
|
||||
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>
|
||||
<!-- Google Analytics -->
|
||||
<!--
|
||||
Google Analytics -->
|
||||
<script>
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a = s.createElement(o), m = s.getElementsByTagName(
|
||||
o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
})(window, document, 'script',
|
||||
'//www.google-analytics.com/analytics.js', 'ga');
|
||||
ga('create', 'UA-43107212-2', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<!doctype html>
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
@@ -9,7 +8,6 @@
|
||||
initial-scale=1">
|
||||
<!-- The above 3 meta tags *must* come first in the head; any
|
||||
other head content must come *after* these tags -->
|
||||
|
||||
<title>sslip.io FAQ</title>
|
||||
<meta name="description" content="sslip.io">
|
||||
<meta name="author" content="Brian Cunnie">
|
||||
@@ -18,10 +16,8 @@ other head content must come *after* these tags -->
|
||||
<!-- Latest
|
||||
compiled and minified 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">
|
||||
|
||||
<!-- 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
|
||||
@@ -33,12 +29,12 @@ other head content must come *after* these tags -->
|
||||
</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">
|
||||
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>
|
||||
@@ -55,69 +51,99 @@ other head content must come *after* these tags -->
|
||||
<!--/.nav-collapse -->
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="starter-template">
|
||||
<h1>FAQ</h1>
|
||||
<p class="lead">Do I have to pay to use this service?</p>
|
||||
<p>No, it's free.</p>
|
||||
<p class="lead">Can I use this certificate on my commerce website?</p>
|
||||
<p>Although there's no technical reason why you couldn't use the sslip.io SSL key and certificate for your commerce web, we <i>strongly</i> recommend against it: the key is publicly available; your traffic isn't secure. sslip.io's primary purpose is
|
||||
to assist developers who need to test against valid SSL certs, not to safeguard content.</p>
|
||||
<p class="lead">My webserver wants a certificate and an "intermediate certificate chain"—where do I get that?
|
||||
</p>
|
||||
<p>Certain web servers (e.g. <a href="http://www.tenable.com">Tenable's</a> <a href="http://www.tenable.com/products/nessus-vulnerability-scanner">Nessus</a> scanner) prefer to split the chained certificate file (which has three concatenated certificates)
|
||||
into two files: one file containing a single certificate for the server itself (e.g. the "*.sslip.io" certificate), and a second file containing the intermediate certificate authorities (e.g. the two COMODO certificate authorities).</p>
|
||||
<p>You can split the chained certificate file by hand, or you can download them, pre-split, from GitHub:
|
||||
</p>
|
||||
<p>Although there's no technical reason why you couldn't use
|
||||
the sslip.io SSL key and certificate for your commerce
|
||||
web, we <i>strongly</i> recommend against it: the key
|
||||
is publicly available; your traffic isn't secure. sslip.io's
|
||||
primary purpose is to assist developers who need to test
|
||||
against valid SSL certs, not to safeguard content.</p>
|
||||
<p class="lead">My webserver wants a certificate and an "intermediate certificate
|
||||
chain"—where do I get that? </p>
|
||||
<p>Certain web servers (e.g. <a href="http://www.tenable.com">Tenable's</a> <a href="http://www.tenable.com/products/nessus-vulnerability-scanner">Nessus</a> scanner) prefer to split the chained certificate file
|
||||
(which has three concatenated certificates) into two
|
||||
files: one file containing a single certificate for the
|
||||
server itself (e.g. the "*.sslip.io" certificate), and
|
||||
a second file containing the intermediate certificate
|
||||
authorities (e.g. the two COMODO certificate authorities).</p>
|
||||
<p>You can split the chained certificate file by hand, or
|
||||
you can download them, pre-split, from GitHub: </p>
|
||||
<ul>
|
||||
<li>the server <a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.crt.pem">certificate</a> ("*.sslip.io")
|
||||
</li>
|
||||
<li>the intermedicate certificate <a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/intermediate-ca.crt.pem">chain</a> (the COMODO CAs)</li>
|
||||
<li>the server <a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.crt.pem">certificate</a> ("*.sslip.io") </li>
|
||||
<li>the intermedicate certificate <a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/intermediate-ca.crt.pem">chain</a> (the COMODO CAs)</li>
|
||||
</ul>
|
||||
<p class="lead">Why can't I use dots in my hostname? xip.io lets me use dots.
|
||||
</p>
|
||||
<p>You can't have dots, but you can have dashes: for example, "www-sf-ca-us-10-9-9-142.sslip.io" will work with sslip.io's wildcard SSL certificate, but "www.sf.ca.us.10.9.9.142.sslip.io" will not. This is a technical limitation of wildcard certs and the manner in which browsers treat them (read more <a href="http://security.stackexchange.com/questions/10538/what-certificates-are-needed-for-multi-level-subdomains">here</a>). This restricts sslip.io's usage model. For example, it won't work properly with Cloud Foundry's app domain or system domain.
|
||||
<p class="lead">Can you make the hostnames easier to remember? I'm being force to memorize IP addresses.</p>
|
||||
<p>Unfortunately, no. We appreciate that "52-0-56-137.sslip.io" is not an easy-to-remember hostname, whereas
|
||||
something along the lines of
|
||||
"aws-server.sslip.io" would be much simpler, but we don't see an easy solution—we need to be
|
||||
able to extract the IP address from the hostname in order for our DNS nameserver to reply with the proper
|
||||
address when queried.</p>
|
||||
<p class="lead">Do you have support for IPv6-style addresses?</p>
|
||||
<p>Not yet, but if there's enough demand for it we might try implementing it.</p>
|
||||
<p class="lead">Why did you choose a 4096-bit key instead of a 2048-bit key?</p>
|
||||
<p>We couldn't help ourselves—when it comes to keys, longer is better. In retrospect there were flaws in our thinking: certain hardware devices, e.g. YubiKeys, only support keys of length 2048 bits or less. Also, there was no technical value
|
||||
in making a long key—it's publicly available on GitHub, so a zero-bit key would have been equally secure.</p>
|
||||
<p class="lead">Do I have to use the sslip.io domain? I'd rather have a valid cert for my domain.</p>
|
||||
<p>If you want valid SSL certificate, and you don't want to use the sslip.io domain, then you'll need to purchase a certificate for your domain. We purchased ours from <a href="https://www.cheapsslshop.com">Cheap SSL Shop</a>, but use a vendor with
|
||||
whom you're comfortable. </p>
|
||||
<p class="lead">What is the sslip.io certificate chain?
|
||||
</p>
|
||||
<p>The sslip.io certificate chain is the series of certificates, each signing the next, with a root certificate at the top. It looks like the following:</p>
|
||||
<div class="col-sm-12">
|
||||
<img src="img/cert_chain.png" height="206" /> </div>
|
||||
<div class="row"></div>
|
||||
<p></p>
|
||||
<p>Note that the "root" certificate is "AddTrust's External CA Root", which issued a certificate to the "COMODO RSA Certification Authority", which in turn issued a certificate to the "COMODO RSA Domain Validation Secure Server CA" which in turn issued
|
||||
our certificate, "*.sslip.io".</p>
|
||||
<p class="lead">How is "sslip.io" pronounced?</p>
|
||||
<p>ESS-ESS-ELL-EYE-PEE-DOT-EYE-OH</p>
|
||||
<p class="lead">Where do I report bugs? I think I found one.</p>
|
||||
<p>Open an issue on <a href="https://github.com/cunnie/sslip.io/issues">GitHub</a>; we're tracking our issues there.</p>
|
||||
<p class="lead">There's a typo/mistake on the sslip.io website.
|
||||
</p>
|
||||
<p>Thanks! We love <a href="https://github.com/cunnie/sslip.io/pulls">pull requests</a>.</p>
|
||||
<div class="row">
|
||||
<p class="lead">Why can't I use dots in my hostname? xip.io lets me use
|
||||
dots. </p>
|
||||
<p>You can't have dots, but you can have dashes: for example,
|
||||
"www-sf-ca-us-10-9-9-142.sslip.io" will work with sslip.io's
|
||||
wildcard SSL certificate, but "www.sf.ca.us.10.9.9.142.sslip.io"
|
||||
will not. This is a technical limitation of wildcard
|
||||
certs and the manner in which browsers treat them (read
|
||||
more <a href="http://security.stackexchange.com/questions/10538/what-certificates-are-needed-for-multi-level-subdomains">here</a>).
|
||||
This restricts sslip.io's usage model. For example, it
|
||||
won't work properly with Cloud Foundry's app domain or
|
||||
system domain.
|
||||
<p class="lead">Can you make the hostnames easier to remember? I'm being
|
||||
force to memorize IP addresses.</p>
|
||||
<p>Unfortunately, no. We appreciate that "52-0-56-137.sslip.io"
|
||||
is not an easy-to-remember hostname, whereas something
|
||||
along the lines of "aws-server.sslip.io" would be much
|
||||
simpler, but we don't see an easy solution—we
|
||||
need to be able to extract the IP address from the
|
||||
hostname in order for our DNS nameserver to reply with
|
||||
the proper address when queried.</p>
|
||||
<p class="lead">Do you have support for IPv6-style addresses?</p>
|
||||
<p>Not yet, but if there's enough demand for it we might
|
||||
try implementing it.</p>
|
||||
<p class="lead">Why did you choose a 4096-bit key instead of a 2048-bit
|
||||
key?</p>
|
||||
<p>We couldn't help ourselves—when it comes to keys,
|
||||
longer is better. In retrospect there were flaws in
|
||||
our thinking: certain hardware devices, e.g. YubiKeys,
|
||||
only support keys of length 2048 bits or less. Also,
|
||||
there was no technical value in making a long key—it's
|
||||
publicly available on GitHub, so a zero-bit key would
|
||||
have been equally secure.</p>
|
||||
<p class="lead">Do I have to use the sslip.io domain? I'd rather have
|
||||
a valid cert for my domain.</p>
|
||||
<p>If you want valid SSL certificate, and you don't want
|
||||
to use the sslip.io domain, then you'll need to purchase
|
||||
a certificate for your domain. We purchased ours from
|
||||
<a href="https://www.cheapsslshop.com">Cheap SSL Shop</a>,
|
||||
but use a vendor with whom you're comfortable. </p>
|
||||
<p class="lead">What is the sslip.io certificate chain? </p>
|
||||
<p>The sslip.io certificate chain is the series of certificates,
|
||||
each signing the next, with a root certificate at the
|
||||
top. It looks like the following:</p>
|
||||
<div class="col-sm-12">
|
||||
<img src="img/cert_chain.png" height="206" /> </div>
|
||||
<div class="row"></div>
|
||||
<p></p>
|
||||
</div>
|
||||
<p>© 2015 Brian Cunnie, Pivotal Software
|
||||
</p>
|
||||
<p>Note that the "root" certificate is "AddTrust's External
|
||||
CA Root", which issued a certificate to the "COMODO
|
||||
RSA Certification Authority", which in turn issued
|
||||
a certificate to the "COMODO RSA Domain Validation
|
||||
Secure Server CA" which in turn issued our certificate,
|
||||
"*.sslip.io".</p>
|
||||
<p class="lead">How is "sslip.io" pronounced?</p>
|
||||
<p>ESS-ESS-ELL-EYE-PEE-DOT-EYE-OH</p>
|
||||
<p class="lead">Where do I report bugs? I think I found one.</p>
|
||||
<p>Open an issue on <a href="https://github.com/cunnie/sslip.io/issues">GitHub</a>;
|
||||
we're tracking our issues there.</p>
|
||||
<p class="lead">There's a typo/mistake on the sslip.io website. </p>
|
||||
<p>Thanks! We love <a href="https://github.com/cunnie/sslip.io/pulls">pull requests</a>.</p>
|
||||
<div class="row">
|
||||
<p></p>
|
||||
</div>
|
||||
<p>© 2015 Brian Cunnie, Pivotal Software </p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
<!-- Bootstrap core JavaScript ================================================== -->
|
||||
<!--
|
||||
Placed at the end of the document so the pages load faster -->
|
||||
@@ -138,14 +164,13 @@ other head content must come *after* these tags -->
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o), m =
|
||||
s.getElementsByTagName(o)[0];
|
||||
a = s.createElement(o), m = s.getElementsByTagName(
|
||||
o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script',
|
||||
'//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', 'UA-43107212-2', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
@@ -1,45 +1,41 @@
|
||||
<!doctype html>
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<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 -->
|
||||
|
||||
<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
|
||||
compiled and minified CSS -->
|
||||
compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
|
||||
|
||||
<!-- Optional theme -->
|
||||
<!--
|
||||
Optional theme -->
|
||||
<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:// -->
|
||||
<!--[if lt 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]-->
|
||||
<!--
|
||||
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:// -->
|
||||
<!--[if lt
|
||||
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>
|
||||
<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>
|
||||
@@ -54,42 +50,43 @@ come first in the head; any other head content must come *after* these tags -->
|
||||
<!--/.nav-collapse -->
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="starter-template">
|
||||
<h1>sslip.io</h1>
|
||||
<h3>Turn your red lock into a green lock!</h3>
|
||||
<br />
|
||||
<div class="col-sm-5">
|
||||
<img src="img/red_lock.png" height="71" />
|
||||
</div>
|
||||
<img src="img/red_lock.png" height="71" /> </div>
|
||||
<div class="col-sm-1">
|
||||
<p></p>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<img src="img/green_lock.png" height="71" />
|
||||
</div>
|
||||
<img src="img/green_lock.png" height="71" /> </div>
|
||||
<div class="col-sm-1"></div>
|
||||
<div class="row"></div>
|
||||
<h3>What is it?</h3>
|
||||
<p><b>sslip.io</b> is a means for developers to test against valid SSL certificates
|
||||
without the bother of purchasing them. Two components make this possible:</p>
|
||||
<p><b>sslip.io</b> is a means for developers to test against
|
||||
valid SSL certificates without the bother of purchasing
|
||||
them. Two components make this possible:</p>
|
||||
<ol>
|
||||
<li>a special DNS backend that maps crafted hostnames to IP addresses
|
||||
(e.g. <i>192-168-0-1.sslip.io</i> resolves to <i>192.168.0.1</i>) (similar to xip.io)</li>
|
||||
<li>a wildcard SSL certificate for *.sslip.io and the corresponding key, both downloadable
|
||||
from GitHub</li>
|
||||
<li>a special DNS backend that maps crafted hostnames to
|
||||
IP addresses (e.g. <i>192-168-0-1.sslip.io</i> resolves
|
||||
to <i>192.168.0.1</i>) (similar to xip.io)</li>
|
||||
<li>a wildcard SSL certificate for *.sslip.io and the corresponding
|
||||
key, both downloadable from GitHub</li>
|
||||
</ol>
|
||||
<p>A developer can install the certificate and key on the
|
||||
server, configure the server's name to its sslip.io fully-qualified domain name,
|
||||
(FQDN, e.g. <i>52-0-56-137.sslip.io</i>), at which point anyone can
|
||||
browse the server using the sslip.io FQDN via HTTPS and receive a valid
|
||||
SSL connection (green lock). All in a matter of seconds.</p>
|
||||
<h3>How do I use it?
|
||||
</h3>
|
||||
<p class="lead">First, find your server's IP address to determine its sslip.io hostname</p>
|
||||
<p>Your server's sslip.io hostname is a mash-up of your server's IP address and the <b>sslip.io</b> domain. Here are some examples:</p>
|
||||
server, modify the server's configuration and restart
|
||||
the daemon, at which point anyone can browse the server
|
||||
using the sslip.io hostname (e.g. <i>52-0-56-137.sslip.io</i>)
|
||||
via HTTPS and receive a valid SSL connection (green lock).
|
||||
All in a matter of seconds. </p>
|
||||
<h3>How do I use it? </h3>
|
||||
<p class="lead">First, find your server's IP address to determine its sslip.io
|
||||
hostname</p>
|
||||
<p>Your server's sslip.io hostname is a mash-up of your server's
|
||||
IP address and the <b>sslip.io</b> domain. Here are some
|
||||
examples:</p>
|
||||
<table class="sslip">
|
||||
<tr>
|
||||
<th>Server's IP Address</th>
|
||||
@@ -113,27 +110,35 @@ come first in the head; any other head content must come *after* these tags -->
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
|
||||
<p style="font-style: italic;">Note that in the last two examples we prepended additional information to the hostname, i.e. "www-" and "console-", respectively. This allows sslip.io to work with <a href="https://en.wikipedia.org/wiki/Virtual_hosting#Name-based">name-based
|
||||
<p style="font-style:
|
||||
italic;">Note that in the last two examples we prepended additional
|
||||
information to the hostname, i.e. "www-" and "console-",
|
||||
respectively. This allows sslip.io to work with <a href="https://en.wikipedia.org/wiki/Virtual_hosting#Name-based">name-based
|
||||
virtual hosting</a>.</p>
|
||||
|
||||
<p class="lead">Second, download sslip.io's SSL certificate and key from GitHub</p>
|
||||
<p>Download the SSL key (<a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.key.pem">sslip.io.key.pem</a>) and wildcard SSL certificate chain (<a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.chained.crt.pem">sslip.io.chained.crt.pem</a>)
|
||||
from GitHub. You may use <i>curl</i> if you prefer the command line:</p>
|
||||
<pre>
|
||||
<p class="lead">Second, download sslip.io's SSL certificate and key from
|
||||
GitHub</p>
|
||||
<p>Download the SSL key (<a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.key.pem">sslip.io.key.pem</a>)
|
||||
and wildcard SSL certificate chain (<a href="https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.chained.crt.pem">sslip.io.chained.crt.pem</a>)
|
||||
from GitHub. You may use <i>curl</i> if you prefer the
|
||||
command line:</p> <pre>
|
||||
curl -OL https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.key.pem
|
||||
curl -OL https://raw.githubusercontent.com/cunnie/sslip.io/master/ssl/sslip.io.chained.crt.pem</pre>
|
||||
<p class="lead">Third, configure the webserver with your sslip.io hostname, SSL certificate, and SSL key</p>
|
||||
<p>Configure your webserver. Set the server name to sslip.io hostname, and configure the SSL portion to use the key and certificate downloaded from GitHub. Here is a sample from sslip.io's webserver's <i>nginx.conf</i> (modified for clarity):</p>
|
||||
<pre>
|
||||
<p class="lead">Third, configure the webserver with the SSL certificate
|
||||
& key</p>
|
||||
<p>Configure the server's configuration file's SSL portion
|
||||
to use the SSL certificate & key downloaded from
|
||||
GitHub. Here is a sample from sslip.io's webserver's
|
||||
<i>nginx.conf</i> (modified for clarity):</p> <pre>
|
||||
server {
|
||||
server_name 52-0-56-137.sslip.io;
|
||||
listen 443 ssl;
|
||||
ssl_certificate /etc/ssl/sslip.io.chained.crt.pem;
|
||||
ssl_certificate_key /etc/ssl/sslip.io.key.pem;</pre>
|
||||
<p class="lead">Finally, restart your webserver and browse to its sslip.io address via HTTPS</p>
|
||||
<p>Browse to your webserver's sslip.io hostname, e.g. <a href="https://52-0-56-137.sslip.io">https://52-0-56-137.sslip.io</a> (assuming that 52.0.56.137 is the IP address of your webserver, which it isn't because that's
|
||||
the IP address of <i>our</i> webserver). Admire the beautiful green lock in your browser's address bar.</p>
|
||||
<p class="lead">Finally, restart your webserver and browse to its sslip.io
|
||||
address via HTTPS</p>
|
||||
<p>Browse to your webserver's sslip.io hostname, e.g. <a href="https://52-0-56-137.sslip.io">https://52-0-56-137.sslip.io</a> (assuming that 52.0.56.137 is the IP address of your
|
||||
webserver, which it isn't because that's the IP address
|
||||
of <i>our</i> webserver). Admire the beautiful green
|
||||
lock in your browser's address bar.</p>
|
||||
<div class="row">
|
||||
<p></p>
|
||||
</div>
|
||||
@@ -141,33 +146,34 @@ the IP address of <i>our</i> webserver). Admire the beautiful green lock in your
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
<!-- Bootstrap core JavaScript ================================================== -->
|
||||
<!--
|
||||
Placed at the end of the document so the pages load faster -->
|
||||
Bootstrap core JavaScript ================================================== -->
|
||||
<!--
|
||||
Placed at the end of the document so the pages load faster -->
|
||||
<!-- jQuery
|
||||
(necessary for Bootstrap's JavaScript plugins) -->
|
||||
(necessary for Bootstrap's JavaScript plugins) -->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
||||
<!--
|
||||
Latest compiled and minified JavaScript -->
|
||||
Latest compiled and minified JavaScript -->
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<!--
|
||||
IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
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>
|
||||
<!-- Google Analytics -->
|
||||
<!--
|
||||
Google Analytics -->
|
||||
<script>
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a = s.createElement(o), m = s.getElementsByTagName(
|
||||
o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
})(window, document, 'script',
|
||||
'//www.google-analytics.com/analytics.js', 'ga');
|
||||
ga('create', 'UA-43107212-2', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user