Browse Source

更新与修复BUG

xiaoz 6 years ago
parent
commit
2a3140cca0

+ 8 - 0
config.php

@@ -0,0 +1,8 @@
+<?php
+	//生产环境建议填写绝对路径,且目录可写,如D:/ssl/
+	//设置证书路径
+    $ssldir = "../ssl/";
+    //设置配置文件路径
+    //$confdir = "D:/wwwroot/nssl/conf/";
+    $confdir = "../vhost/";
+?>

+ 0 - 22
data/domain.conf

@@ -1,22 +0,0 @@
-server
-    {
-        ssl on;
-        listen         192.168.1.1:443;
-        server_name    domain.com;
-        ssl_certificate domain.com.crt;
-        ssl_certificate_key domain.com.key;
-        location / {
-        proxy_pass http://127.0.0.1:80;
-        proxy_redirect off;
-        proxy_set_header X-Real-IP $remote_addr;
-        proxy_set_header Host $host;
-        proxy_http_version 1.1;
-        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    }
-}
-server
-{
-        listen 80;
-        server_name domain.com;
-        rewrite ^(.*) https://domain.com$1 permanent;
-}

BIN
data/nssl (2).db3


BIN
data/nssl.db3


+ 14 - 4
data/temp.conf

@@ -1,10 +1,20 @@
 server {
-	ssl on;
-	listen         192.168.1.1:443;
-
-	server_name    domain.com;
+	listen         192.168.1.1:443 ssl http2;
+	
 	ssl_certificate mycer.crt;
     ssl_certificate_key mycer.key;
+	ssl_session_timeout 1d;
+    ssl_session_cache shared:SSL:50m;
+    ssl_session_tickets off;
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
+    ssl_prefer_server_ciphers on;
+    add_header Strict-Transport-Security max-age=15768000;
+    ssl_stapling on;
+    ssl_stapling_verify on;
+
+	server_name    domain.com;
+	
 	location / {
 		proxy_pass http://127.0.0.1:80;
 		proxy_redirect off;

+ 69 - 0
editsite.php

@@ -0,0 +1,69 @@
+<?php
+	include_once('tpl/header.php');
+	include_once('functions/medoo.php');
+	include_once("config.php");
+
+	$host = $_SERVER['HTTP_HOST'].$_SERVER["PHP_SELF"];
+	$host = "http://".str_replace("editsite.php","",$host)."functions/method.php?type=select_ssl";
+	
+	$selectssl = file_get_contents($host);
+
+	$database = new medoo([
+    'database_type' => 'sqlite',
+    'database_file' => 'data/nssl.db3']);
+
+	$siteid = $_GET['siteid'];
+	$siteinfo = $database->get("s_site",["domain","sslid","https"],["id" => $siteid]);
+?>
+<div class="layui-container" style = "margin-top:40px;">
+	<div class="layui-row">
+		<div class="layui-col-lg10 layui-col-md-offset1">
+			<!--提示-->
+			<div>
+				<pre class="layui-code">请在下方填写需要启用SSL的站点,域名不需要包含http://,如果您的网站调用了http链接,强制HTTPS会导致网站异常。</pre>   
+			</div>
+			<!--提示END-->
+			<!--表单-->
+			<div id="" style = "margin-top:40px;">
+				<form class="layui-form" action="">
+				<div class="layui-form-item">
+			    <label class="layui-form-label">域名</label>
+			    <div class="layui-input-block">
+			      <input type="text" id="domain" readonly="readonly" required  lay-verify="required" placeholder="输入要启用SSL的域名" autocomplete="off" class="layui-input" value = "<?php echo $siteinfo['domain']; ?>">
+			    </div>
+			  </div>
+			  <div class="layui-form-item">
+			    <label class="layui-form-label">选择证书</label>
+			    <div class="layui-input-block">
+			      <select id = "cert" lay-verify="required">
+				      <?php echo $selectssl; ?>
+			      </select>
+			    </div>
+			  </div>
+			  <div class="layui-form-item">
+			    <label class="layui-form-label">强制HTTPS</label>
+			    <div class="layui-input-block">
+			      <input type="checkbox" name="switch" lay-skin="switch" id = "https">
+			    </div>
+			  </div>
+			</form>
+					<div class="layui-form-item">
+			    <div class="layui-input-block">
+			      <button class="layui-btn" lay-filter="formDemo" id = "btn">保存</button>
+			      <!--<button type="reset" class="layui-btn layui-btn-primary">重置</button>-->
+			    </div>
+			  </div>
+			</div>	
+			<!--表单END-->
+		</div>
+	</div>
+</div>
+<?php
+	include_once('tpl/footer.php');
+?>
+<script>
+	layui.use(['form','element'], function(){
+	  var form = layui.form;
+	  //监听提交
+	});
+</script>

+ 85 - 0
editssl.php

@@ -0,0 +1,85 @@
+<?php
+	include_once('tpl/header.php');
+	include_once('functions/medoo.php');
+	include_once("config.php");
+
+	$database = new medoo([
+    'database_type' => 'sqlite',
+    'database_file' => 'data/nssl.db3']);
+
+	$cerid = $_GET['cerid'];
+	$ssl = $database->get("s_cert",["domain","crt","key","time","note"],["id" => $cerid]);
+?>
+
+<div class="layui-container" style = "margin-top:40px;margin-bottom:60px;">
+	<div class="layui-row">
+		<div class="layui-col-lg10 layui-col-md-offset1">
+			<!--表单-->
+			<div id="editssl">
+				<form class="layui-form" action="">
+				<div class="layui-form-item">
+			    <label class="layui-form-label">域名</label>
+			    <div class="layui-input-block">
+			      <input type="text" id="domain" readonly="readonly" required  lay-verify="required" placeholder="请输证书对应的域名" autocomplete="off" class="layui-input" value = "<?php echo $ssl['domain']; ?>">
+			    </div>
+			  </div>
+			  <div class="layui-form-item layui-form-text">
+			    <label class="layui-form-label">.cer and .crt</label>
+			    <div class="layui-input-block">
+			      <textarea id="crt" placeholder="请将.cer和.crt内容复制到这里,.cer内容在前,.crt内容在后" class="layui-textarea" style = "height:200px;"><?php echo $ssl['crt']; ?></textarea>
+			    </div>
+			  </div>
+			  <div class="layui-form-item layui-form-text">
+			    <label class="layui-form-label">.key</label>
+			    <div class="layui-input-block">
+			      <textarea id="key" placeholder="请将.key内容复制到这里" class="layui-textarea" style = "height:200px;"><?php echo $ssl['key']; ?></textarea>
+			    </div>
+			  </div>
+			  <div class="layui-form-item">
+			    <label class="layui-form-label">备注</label>
+			    <div class="layui-input-block">
+			      <input type="text" id="note" placeholder="备注非必填" autocomplete="off" class="layui-input" value = "<?php echo $ssl['note']; ?>">
+			    </div>
+			  </div>
+			</form>
+					<div class="layui-form-item">
+			    <div class="layui-input-block">
+			      <button class="layui-btn" lay-filter="formDemo" id = "btn">更新</button>
+			    </div>
+			  </div>
+			</div>	
+			<!--表单END-->
+		</div>
+	</div>
+</div>
+
+<?php
+	include_once('tpl/footer.php');
+?>
+<script>
+	layui.use(['form','element'], function(){
+	  var form = layui.form;
+	  //监听提交
+	});
+	$(document).ready(function(){
+	$("title").empty();
+	$("title").append("编辑SSL证书");
+	$("#btn").click(function(){
+		var domain = $("#domain").val();
+		var crt = $("#crt").val();
+		var key = $("#key").val();
+		var note = $("#note").val();
+		
+		$.post("./functions/method.php?type=update_ssl&cerid=<?php echo $cerid; ?>",{domain:domain,crt:crt,note:note,key:key},function(data){
+			layer.open({
+				title:'温馨提示',
+				content:data,
+				time:2000
+			});
+		});
+	});
+	$.get("./functions/method.php?type=update_ssl",function(data,status){
+		$("#listssl").append(data);
+	});
+});
+</script>

+ 66 - 10
functions/method.php

@@ -1,23 +1,36 @@
 <?php
 	error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED);
+	$myhost = $_SERVER['HTTP_HOST'];
+	//判断主机,不允许公网访问
+	if(($myhost != 'localhost') && ($myhost != '127.0.0.1')) {
+		echo "不允许公网访问!";
+		exit;
+	}
+
+	
 	require_once  'medoo.php';
+	include_once( '../config.php' );
 	$database = new medoo([
     'database_type' => 'sqlite',
     'database_file' => '../data/nssl.db3']);
 
     //设置证书路径
-    $ssldir = "../ssl/";
+    //$ssldir = "../ssl/";
     //设置配置文件路径
     //$confdir = "D:/wwwroot/nssl/conf/";
-    $confdir = "../vhost/";
+    //$confdir = "../vhost/";
 	
 	//获取域名
 	$domain = $_POST['domain'];
+	//替换http and https
+	$domain = str_replace("http://","",$domain);
+	$domain = str_replace("https://","",$domain);
 	$crt = $_POST['crt'];		//获取证书内容
 	$key = $_POST['key'];			//获取证书私钥
 	$note = $_POST['note'];		//获取证书备注
 	$id = $_POST['id'];			//获取ID
-	$sslid = $_POST['sslid'];	//获取证书id
+	$cerid = $_GET['cerid'];	//获取证书ID,更新证书时使用
+	$sslid = $_POST['sslid'];	//获取证书id,更新站点时使用
 	$https = $_POST['https'];	//是否强制https
 	//获取类型
 	$type = $_GET['type'];
@@ -38,7 +51,7 @@
 				echo "添加失败,域名已存在!";
 				exit;
 			}
-			$time = date('Y-m-d H:i:s',time());
+			$time = date('Y-m-d',time());
 			$last_user_id = $database->insert("s_cert", [
 		    "domain" => $domain,
 		    "crt" => $crt,
@@ -56,6 +69,30 @@
 				echo '添加成功!';
 			}
 			break;
+		//更新证书
+		case 'update_ssl':
+			check($domain,"domain");
+			check($crt,"crt");
+			check($key,"key");
+			check($note,"note");
+			
+			$time = date('Y-m-d',time());
+			$last_user_id = $database->update("s_cert", [
+		    "crt" => $crt,
+		    "key" => $key,
+		    "note" => $note,
+		    "time" => $time
+		],["id" => $cerid]);
+			if($last_user_id) {
+				$mycrt = fopen($ssldir.$domain.".crt", "w") or die("Unable to open file!");
+				fwrite($mycrt, $crt);
+				$mykey = fopen($ssldir.$domain.".key", "w") or die("Unable to open file!");
+				fwrite($mykey, $key);
+				fclose($mycrt);
+				fclose($mykey);
+				echo '更新成功!';
+			}
+			break;
 		//显示证书
 		case 'list_ssl':
 			$datas = $database->select("s_cert", [
@@ -71,7 +108,7 @@
 				echo "<td>".$data['domain']."</td>";
 				echo "<td>".$data['time']."</td>";
 				echo "<td>".$data['note']."</td>";
-				echo "<td><a href = 'javascript:;' class='layui-btn layui-btn-danger layui-btn-xs' onclick = 'delssl(\"$sslid\")'>"."删除</a></td>";
+				echo "<td><a href = 'editssl.php?type=ssl&cerid=$sslid' class='layui-btn layui-btn-normal layui-btn-xs'>编辑</a><a href = 'javascript:;' class='layui-btn layui-btn-danger layui-btn-xs' onclick = 'delssl(\"$sslid\")'>"."删除</a></td>";
 			   	echo "</tr>";
 			}
 			break;
@@ -83,6 +120,8 @@
 			    "time",
 			    "note"
 			]);
+			
+			echo "<option value=''></option>";
 			foreach($datas as $data)
 			{
 				$sslid = $data['id'];
@@ -94,6 +133,12 @@
 		//删除证书
 		case 'del_ssl':
 			$delcert = $database->get("s_cert",["domain"],["id" => $id]);
+			//查询证书是否部署站点
+			$selectsite = $database->get("s_site",["id"],["sslid" => $id]);
+			if($selectsite) {
+				echo "该证书已部署到站点,无法删除!";
+				exit;
+			}
 			//仅删除数据库
 			$redel = $database->delete("s_cert",["id" => $id]);
 			if($redel) {
@@ -159,10 +204,10 @@
 			foreach($datas as $data)
 			{
 				if($data['https'] == 1){
-					$https = "是";
+					$https = "<img src = 'static/yes.png'></img> 是";
 				}
 				else {
-					$https = "否";
+					$https = "<img src = 'static/no.png'></img> 否";
 				}
 				$id = $data['id'];
 				$sslid = $data['sslid'];
@@ -209,7 +254,8 @@
 					exit;
 				}
 				//正则匹配
-				$rule = '/.*\.[a-zA-Z]*$/';
+				//$rule = '/.*\.[a-zA-Z]*$/';
+				$rule = '/^[0-9a-zA-Z-\.]+\.[a-zA-Z]+$/';
 				if(!preg_match($rule,$parameter)) {
 					echo "域名格式不正确!";
 					exit;
@@ -221,17 +267,27 @@
 					echo "请填写证书内容!(.cer and .crt)";
 					exit;
 				}
+				$iscrt = strpos($parameter,"BEGIN CERTIFICATE");
+				if(!$iscrt) {
+					echo "证书格式不对!";
+					exit;
+				}
 				break;
 			case 'key':	
 				if($parameter == '') {
 					echo "请填写私钥!(.key)";
 					exit;
 				}
+				$iskey = strpos($parameter,"PRIVATE KEY");
+				if(!$iskey) {
+					echo "密钥(key)格式不对!";
+					exit;
+				}
 				break;
 			case 'note':
 				$strlen = strlen($parameter);
-				if($strlen > 12) {
-					echo "备注不能超过12个字符";
+				if($strlen > 20) {
+					echo "备注不能超过20个字符";
 					exit;
 				}
 				break;

+ 21 - 4
index.php

@@ -21,7 +21,7 @@
 				      <th>域名</th>
 				      <th>证书</th>
 				      <th>强制HTTPS</th>
-				      <th>添加时间</th>
+				      <th>最后更新</th>
 				      <th>操作</th>
 				    </tr> 
 				  </thead>
@@ -38,14 +38,14 @@
 				<table class="layui-table">
 				  <colgroup>
 				    <col width="50%">
+				    <col width="15%">
 				    <col width="20%">
-				    <col width="20%">
-					<col width="10%">
+					<col width="15%">
 				  </colgroup>
 				  <thead>
 				    <tr>
 				      <th>域名</th>
-				      <th>添加时间</th>
+				      <th>最后更新</th>
 				      <th>备注</th>
 				      <th>操作</th>
 				    </tr> 
@@ -65,6 +65,9 @@
 ?>
 
 <script>
+layui.use('layer', function(){
+var layer = layui.layer;
+}); 
 $(document).ready(function(){
 		$.get("./functions/method.php?type=list_site",function(data,status){
 			$("#website").append(data);
@@ -73,4 +76,18 @@ $(document).ready(function(){
 			$("#listssl").append(data);
 		});
 	});
+function delsite(canshu) {
+	layer.open({
+		title:'温馨提示',
+		content:'请在站点管理中删除!',
+		time:2000
+	});
+}
+function delssl(canshu) {
+	layer.open({
+		title:'温馨提示',
+		content:'请在SSL证书列表中删除!',
+		time:2000
+	});
+}
 </script>

+ 15 - 8
installssl.php

@@ -1,11 +1,20 @@
 <?php
 	include_once('tpl/header.php');
+	$host = $_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
+	$host = "http://".str_replace("installssl.php","",$host)."functions/method.php?type=select_ssl";
+	
+	$selectssl = file_get_contents($host);
 ?>
 <div class="layui-container" style = "margin-top:40px;">
 	<div class="layui-row">
 		<div class="layui-col-lg10 layui-col-md-offset1">
+			<!--提示-->
+			<div>
+				<pre class="layui-code">请在下方填写需要启用SSL的站点,域名不需要包含http://,如果您的网站调用了http链接,强制HTTPS会导致网站异常。</pre>   
+			</div>
+			<!--提示END-->
 			<!--表单-->
-			<div id="">
+			<div id="" style = "margin-top:40px;">
 				<form class="layui-form" action="">
 				<div class="layui-form-item">
 			    <label class="layui-form-label">域名</label>
@@ -17,7 +26,7 @@
 			    <label class="layui-form-label">选择证书</label>
 			    <div class="layui-input-block">
 			      <select id = "cert" lay-verify="required">
-			        <option value=""></option>
+				      <?php echo $selectssl; ?>
 			      </select>
 			    </div>
 			  </div>
@@ -42,15 +51,13 @@
 <script>
 	layui.use(['form','element'], function(){
 	  var form = layui.form;
-  //监听提交
-  
-});
+	});
 $(document).ready(function(){
+	//$.get("./functions/method.php?type=select_ssl",function(data,status){
+	//	$("#cert").append(data);
+	//});
 	$("title").empty();
 	$("title").append("部署SSL证书");
-	$.get("./functions/method.php?type=select_ssl",function(data,status){
-		$("#cert").append(data);
-	});
 	$("#btn").click(function(){
 		//alert('dsds');
 		var domain = $("#domain").val();

+ 2 - 0
reload.bat

@@ -0,0 +1,2 @@
+D:\nginx\nginx.exe -s quit
+D:\nginx\nginx.exe

+ 63 - 0
ssl/hixz.org.crt

@@ -0,0 +1,63 @@
+-----BEGIN CERTIFICATE----- 
+MIIHRDCCBiygAwIBAgIMNsqiFGx8+TOmxy0/MA0GCSqGSIb3DQEBCwUAMEwxCzAJ 
+BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSIwIAYDVQQDExlB 
+bHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcyMB4XDTE3MDExMjE0MzIwMFoXDTE4MDEx 
+MzE0MzIwMFowODEhMB8GA1UECxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMRMw 
+EQYDVQQDDAoqLmhpeHoub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC 
+AQEA69Zt8lho2jyg0IxQWNm6UjoJ6Enlh7/pjYujOeRFNP+XVJ+OY7GNAIVjmgby 
+IaM+CVUuEf1JdKMoS6Os4/LRswGM8a1LGBIalEgUpSVfipqg1NpvC+vrCSok28gn 
+RkL8A7Mg8dGrugN72rnjWMwGQ70osdzrqHmkD+VCWCEFdquO0TwBsMBEDyDNlylu 
+bBHoiRSn6Q59uhVeiQJEbZSovbM7sZvYYNTi7h2mG6JIz8llvF2wy56UDiyZbmzX 
+G5KeF8HM7Lj//RHBz320wlORx3CvAtzf6v4krfAX0M8ynXnkDdWCIX47QXYkCmUz 
+BCtU/fiWVuYZ+o1XqcNJkNKkRwIDAQABo4IEODCCBDQwDgYDVR0PAQH/BAQDAgWg 
+MIGJBggrBgEFBQcBAQR9MHswQgYIKwYBBQUHMAKGNmh0dHA6Ly9zZWN1cmUyLmFs 
+cGhhc3NsLmNvbS9jYWNlcnQvZ3NhbHBoYXNoYTJnMnIxLmNydDA1BggrBgEFBQcw 
+AYYpaHR0cDovL29jc3AyLmdsb2JhbHNpZ24uY29tL2dzYWxwaGFzaGEyZzIwVwYD 
+VR0gBFAwTjBCBgorBgEEAaAyAQoKMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3 
+Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAgGBmeBDAECATAJBgNVHRMEAjAA 
+MD4GA1UdHwQ3MDUwM6AxoC+GLWh0dHA6Ly9jcmwyLmFscGhhc3NsLmNvbS9ncy9n 
+c2FscGhhc2hhMmcyLmNybDAfBgNVHREEGDAWggoqLmhpeHoub3JngghoaXh6Lm9y 
+ZzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFDdp2N3Z 
+IsuRC3+HkBJWt1F5uvvlMB8GA1UdIwQYMBaAFPXN1TwIUPlqTzq3l9pWg+Zp0mj3 
+MIICcAYKKwYBBAHWeQIEAgSCAmAEggJcAloAdgDd6x0reg1PpiCLga2BaHB+Lo6d 
+AdVciI09EcTNtuy+zAAAAVmTF7K/AAAEAwBHMEUCID70SsaSVOASeC5zAXLsTWqZ 
+3QzoEC0TT3hH8lKEff1sAiEAnJ20BWxHoAaNRCynsm7EdrSWVDkz2mSZH49zDGNL 
+RT8AdQBWFAaaL9fC7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ3QAAAVmTF7MuAAAE 
+AwBGMEQCIGBkb3u5Gqh2GWZ6q8aAkcMVbOJ3naj9oOxUQhcuZFuXAiA7RgsB7kk7 
+USqqEoTlpU5JSQVeMzM0mn21amFrKl46dwB3ALvZ37wfinG1k5Qjl6qSe0c4V5UK 
+q1LoGpCWZDaOHtGFAAABWZMXtk8AAAQDAEgwRgIhAMtR38xrMnLOYGIwDhkpwaDT 
+Mk3y8yBgb/mVbj8/0HU+AiEAjDMWRuzwJe98V6Y3CvJgGLBeKko0/JDDJ3aCJ+z9 
+59oAdwCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb37jjd80OyA3cEAAAAVmTF7WKAAAE 
+AwBIMEYCIQC6A4NcTG666XGwLY1bwVswLyJZR8sf+clbZ+VGrvPy/AIhANh8TJbl 
+Romo5MDeFjrvy8c7oS5vDqVQFarCJHLknJhwAHcA7ku9t3XOYLrhQmkfq+GeZqMP 
+fl+wctiDAMR7iXqo/csAAAFZkxe4hAAABAMASDBGAiEAqUuyudkKA8uJqVx7ipVQ 
+AKyyOJpyKXKadhlxIjSZ1DACIQCubSubY96LYTeecYRSywpp3f4wqzQtWBxfatd9 
+i3gKdTANBgkqhkiG9w0BAQsFAAOCAQEAMvkk7uCD9Z/PU+LMyzKhz2YM8JZq2n3w 
+qzVKEEczEBl8dYiO8sK5QhAUAjxQ6RufDZ5+o0GJd/t9QPWpcD+HST9a4FJcSJIi 
+nX0764PmKiOHB5KJ53cxdIx7YjLRyuJmeaGUVy0mvrOAv8JqCGsIKdoHxTF18hq9 
+EAQqAry4wCT/xgAz1AMWZiT3fcuf3Ji05+ksj4gaPuXF4k3F+eA4Dloy9cWTKrMv 
+QCvovXagKGfkTjlyOQ1J6UC2UvIhpDehb6QYQelRmRaZ54ePd1PONCnqz18K4nwm 
+2tYaGVmzcJcczp2uZkocG4C50ASt0L1U1HuazvolT1U30iHybaj8CA== 
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAwMDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAt
+IFNIQTI1NiAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3
+xhfjkmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKLdljlq10d
+j0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFsMVtI5LHsuSPrVU3QfWJK
+pbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAAcJjI4e00X9icxw3A1iNZRfz+VXqG7pRg
+IvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGnkCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B
++Zpye1reTz5/olig4hetZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI
+MAYBAf8CAQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYEVR0g
+ADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVwb3NpdG9yeS8wMwYD
+VR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWduLm5ldC9yb290LmNybDA9BggrBgEF
+BQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAf
+BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfn
+Fo3bXKFWKsv0XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS
+xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eGl87qDBKOInDj
+ZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCVodTvZy84IOgu/5ZR8LrYPZJw
+R2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDmMTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRk
+nl7OedSyps9AsUSoPocZXun4IRZZUw==
+-----END CERTIFICATE-----

+ 28 - 0
ssl/hixz.org.key

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDr1m3yWGjaPKDQ
+jFBY2bpSOgnoSeWHv+mNi6M55EU0/5dUn45jsY0AhWOaBvIhoz4JVS4R/Ul0oyhL
+o6zj8tGzAYzxrUsYEhqUSBSlJV+KmqDU2m8L6+sJKiTbyCdGQvwDsyDx0au6A3va
+ueNYzAZDvSix3OuoeaQP5UJYIQV2q47RPAGwwEQPIM2XKW5sEeiJFKfpDn26FV6J
+AkRtlKi9szuxm9hg1OLuHaYbokjPyWW8XbDLnpQOLJlubNcbkp4XwczsuP/9EcHP
+fbTCU5HHcK8C3N/q/iSt8BfQzzKdeeQN1YIhfjtBdiQKZTMEK1T9+JZW5hn6jVep
+w0mQ0qRHAgMBAAECggEAfQ53vsqizxbXL7832+WYp4GfP03wKMvbTPN+2nPxPulJ
+ldYF61d7LYuOBV8phizJ+KjyhReKnA7ojzN7umRITmPEGWOLLnhrH7YZPHlU8GqO
+XlB2EhxHxdRTNzgrm1ZpzIxwK8rDBSBTzOhFZhDKQaFMswQy8mOOW992DsVz4DiU
+DdGjkkr1MNdAMohqkH0euEC/2Ay+l6hNIeacCx8OYy/KU6JvRLjnN4BLm6IxkOwC
+cI8lvrWFsmQzdtDI/tnlMxQ2ynsrPdNTDeuKfTE3h73+i4PCFlvtSf75KimjnaXZ
+jmF71UFKQBetqGuTfT8fUJQD0tgPlmJFQhiRZlGAAQKBgQD9OHBn5pdU/yXCXifD
+6b8svfnyZRWrB30P0vovw4s9OW65ukjABh36448CQ2chwcP96dDBzQ9lJDrFNq5F
+s2ZvNgHEdTqx8uwRRngaxi7YCRN2ijxfx+0XX+XhvpRd8flIfk+CbP5+3io/qPRy
+MVpRoLeQNa4uTFywMMT3qz4lRwKBgQDubSTQNrkk1tfLgRNd8y4VcrXgPDfUyWjk
+Fkx08jSbHfmuuqYMwEC4EVaDlHnCQiJ+PemlWGgFIb0395hhrL97oib5J3MQzVcR
+aPkp8zeqtXvRn72havplMAMduVcEO7KljEKBbGM3bWskf217sLwPCPT4K9tDB2Yy
+SK9xfhMJAQKBgQCKROlMMuPrq68opVU9a0PS4KG9NGlSjLJDk8a9kh9T/SpzDD9x
+a2Wve9a5O6jzC+VDnws46ApCBjh5O9SJht6mV207o2+7f5RcEoi+xf0KRlp0XiN9
+gaP7IYhbbj+B1QF0DlTIOU/2YsXbIRzpxf01mXbirg1Ahr4OD3NecglrPQKBgGQw
+It8Hj8cmLGnMZGn/LOdAW6LNSxy0QcpOgHRH7skb0HaW4f3Lr6ZpSrRh6MQzbDEm
+LQ8Y1iUJ52wkM7kfkRsPqVbbN+PglWywcrspA8RNHKmaeWHiBTQN99E+t40E1O3x
+wWSHOi3pYbNlhIkMXAnpVp8ONsW0z0Hj/y0usCsBAoGBAL/VsYI9zEQ3C3djvfyh
+VlrSeUt3Ldksc25J2LrYSxt3fOQeSFOWI/8b2BcOsTLyxn1csUSe3hxLJe1fBvfE
+Ts9C/svxzJn+e3CgeuCTg5ySCU3Z0bfQTbA0z4gD9njb/FOxlB9giwhqxBe1Mw6p
+Y5R6etEPY+H8g4ekGaWF/pno
+-----END PRIVATE KEY-----

+ 55 - 0
ssl/test.xiaoz.top.crt

@@ -0,0 +1,55 @@
+-----BEGIN CERTIFICATE-----
+MIIEgjCCA2qgAwIBAgIQCv4DqmYQGVwLZmA+Qd7EjDANBgkqhkiG9w0BAQsFADBy
+MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
+SW5jLjEdMBsGA1UECxMURG9tYWluIFZhbGlkYXRlZCBTU0wxHTAbBgNVBAMTFFRy
+dXN0QXNpYSBUTFMgUlNBIENBMB4XDTE4MDExNDAwMDAwMFoXDTE5MDExNDEyMDAw
+MFowGTEXMBUGA1UEAxMOdGVzdC54aWFvei50b3AwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQDOlh3a+xeIqz/PAj9apxMKOSUO6zrj66rnQne5OwLUHZpL
+6M4U6vPnLcU0io+fR2s0GVbazkZlhbPBLE4iGTALEIWnEuQZuO00EwBXJQBz7Oz+
+yNbqab8Psux8ZgJ187Merc2ZUgr+14Hlxc8KdVYGpUhZbkuagn69+lq1zSbBjlMn
+ZcgJ+ZqiSTQDXzDixrNAHC1/cn4/KmhqWSoXB0Zj2rKOxyDdbHe2xVG5kfxElo6g
+uTv1WHAfm0WdxOvNel46055DXCdTZsNmvgw1xWbGFXrMv/Dw504zv1ZNWYHeC7I8
+d1b8OIUGEKTtO23NL3aInjRI0PaHNeX8VXEuUOk1AgMBAAGjggFrMIIBZzAfBgNV
+HSMEGDAWgBR/05nzoEcOMQBWViKOt8ye3coBijAdBgNVHQ4EFgQUummVwZTyYMB3
+CkXH6ISoIa2L+80wGQYDVR0RBBIwEIIOdGVzdC54aWFvei50b3AwDgYDVR0PAQH/
+BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBMBgNVHSAERTBD
+MDcGCWCGSAGG/WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2Vy
+dC5jb20vQ1BTMAgGBmeBDAECATCBgQYIKwYBBQUHAQEEdTBzMCUGCCsGAQUFBzAB
+hhlodHRwOi8vb2NzcDIuZGlnaWNlcnQuY29tMEoGCCsGAQUFBzAChj5odHRwOi8v
+Y2FjZXJ0cy5kaWdpdGFsY2VydHZhbGlkYXRpb24uY29tL1RydXN0QXNpYVRMU1JT
+QUNBLmNydDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCDunK/fvYYuEll
+drjAHo5xvu3+eADdGyCkID/on4DbLqgdfnN+0nSHQilohXIG5K0m0oLIr43K4pLO
+lIUE3KB1XJGPxii/yXehIx+eBOp9MTw5FhFi4VlpHbUgZ0JdgCWBtPAmly0YB2ID
+q3AwN4pEnKCkiApbAeFDWipb2YQMUjL/ieyGK4QYu4mT1Zopkl2qcoz/dxquadXO
+SOXmnaET+v+h2fzZsXkudN7RvQnjs8yBKAenca4Gw7otnzrHqJmzt+92JxN6pK7R
+yggH9NiKMKPpyyp9mF3lArSdA3Vm25yqmSUrbaOtzFkkOa3Wmbbu9LlW0Hdc27QX
+Zy97/2Tn
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIErjCCA5agAwIBAgIQBYAmfwbylVM0jhwYWl7uLjANBgkqhkiG9w0BAQsFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0xNzEyMDgxMjI4MjZaFw0yNzEyMDgxMjI4MjZaMHIxCzAJBgNVBAYTAkNO
+MSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQL
+ExREb21haW4gVmFsaWRhdGVkIFNTTDEdMBsGA1UEAxMUVHJ1c3RBc2lhIFRMUyBS
+U0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgWa9X+ph+wAm8
+Yh1Fk1MjKbQ5QwBOOKVaZR/OfCh+F6f93u7vZHGcUU/lvVGgUQnbzJhR1UV2epJa
+e+m7cxnXIKdD0/VS9btAgwJszGFvwoqXeaCqFoP71wPmXjjUwLT70+qvX4hdyYfO
+JcjeTz5QKtg8zQwxaK9x4JT9CoOmoVdVhEBAiD3DwR5fFgOHDwwGxdJWVBvktnoA
+zjdTLXDdbSVC5jZ0u8oq9BiTDv7jAlsB5F8aZgvSZDOQeFrwaOTbKWSEInEhnchK
+ZTD1dz6aBlk1xGEI5PZWAnVAba/ofH33ktymaTDsE6xRDnW97pDkimCRak6CEbfe
+3dXw6OV5AgMBAAGjggFPMIIBSzAdBgNVHQ4EFgQUf9OZ86BHDjEAVlYijrfMnt3K
+AYowHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQD
+AgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAG
+AQH/AgEAMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
+ZGlnaWNlcnQuY29tMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2lj
+ZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwTAYDVR0gBEUwQzA3Bglg
+hkgBhv1sAQIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29t
+L0NQUzAIBgZngQwBAgEwDQYJKoZIhvcNAQELBQADggEBAK3dVOj5dlv4MzK2i233
+lDYvyJ3slFY2X2HKTYGte8nbK6i5/fsDImMYihAkp6VaNY/en8WZ5qcrQPVLuJrJ
+DSXT04NnMeZOQDUoj/NHAmdfCBB/h1bZ5OGK6Sf1h5Yx/5wR4f3TUoPgGlnU7EuP
+ISLNdMRiDrXntcImDAiRvkh5GJuH4YCVE6XEntqaNIgGkRwxKSgnU3Id3iuFbW9F
+UQ9Qqtb1GX91AJ7i4153TikGgYCdwYkBURD8gSVe8OAco6IfZOYt/TEwii1Ivi1C
+qnuUlWpsF1LdQNIdfbW3TSe0BhQa7ifbVIfvPWHYOu3rkg1ZeMo6XRU9B4n5VyJY
+RmE=
+-----END CERTIFICATE-----

+ 27 - 0
ssl/test.xiaoz.top.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEAzpYd2vsXiKs/zwI/WqcTCjklDus64+uq50J3uTsC1B2aS+jO
+FOrz5y3FNIqPn0drNBlW2s5GZYWzwSxOIhkwCxCFpxLkGbjtNBMAVyUAc+zs/sjW
+6mm/D7LsfGYCdfOzHq3NmVIK/teB5cXPCnVWBqVIWW5LmoJ+vfpatc0mwY5TJ2XI
+Cfmaokk0A18w4sazQBwtf3J+PypoalkqFwdGY9qyjscg3Wx3tsVRuZH8RJaOoLk7
+9VhwH5tFncTrzXpeOtOeQ1wnU2bDZr4MNcVmxhV6zL/w8OdOM79WTVmB3guyPHdW
+/DiFBhCk7TttzS92iJ40SND2hzXl/FVxLlDpNQIDAQABAoIBADfyB1vKK/FjDwCs
+hyOxo0Jdf1+u7F/U7o96PJn5FScEbUipX0Xi6vJsPr+f1o039hxB0Heo7P+JWciy
+iuZJE+2rJ8a7IvKkVfiIPMtcxeae/v9wvGL3CDrkJY76wSfYO2XPg6JFyZyCGDd1
+fkBCzm02TYWKjQbm2BPyvKYHTLuVpmhdTXYjQz0FltvWH0NkB0rKFuDoUlq7Y7Zp
+1UAfMbLL3c427JvSqTcqu+bVRvbZtPKpSlyDP98Xbv4O4dQNM6fkhUo1kxfMI9uj
+YD/f5PzrKHkGCWHCoZjwqyxR1Zw8JqZmM3Z2ZjTSlYxGShY+/cremH8gtSol3Qox
+ESG+kHECgYEA/OZlPgU/XaqEC9+l4MfMKLQvHMwFU239psfiTkumYHye3JsrnPIT
+l8in9L+yoHI49M6sLzYW8VnQiQXlTXzEvkCZKQJ0d+GXshIZEM33IbPoIjx74/H0
+oGlhavdZ4UPuww2GOESLrc/+F0PQuUF7lYYqQNWlUrTj/RlEAMX7QU8CgYEA0R5j
+Z6Or2hJbOjxYoFbvikZweWCHJDIUfRCkgF/w4fOAI8/h+tmlE7chalbOBhUrLUmu
+eGINcoHV15LicnswLULAH8PzUj6km6H4ERw4l5+II/ELamjg+aryfItLs43p44yv
+x9EXr2lpPLrX8tmxZb4ib0y6JXuAIu3TtqQ6ZDsCgYEAurhUuaTgMwTJd4bJjxuU
+9dyLCETuDbog0/myccJS9dws4o5Cdh8ZLjC9KOw8M1ACE2VgJX9XEx0P5YsP0NU0
+4Y8KRggE+9n4yUWpcgnP0/djhZuIkTS8O49ymKpFlxcz+plKptKdGlh9rqmoOo9J
+co1bNwFGjbj2t5Dm73c9WesCgYEAwdTS+tuAjQ96s83/sA8k1RxZYIgSe4BX8Vyd
+vcgv9J/JZGhp5CQcmNukA3cWXBj+/mlPaJIqOLsTxU+GyepZS3qVrlvoi5E47nEB
+CIsKAbCDdh0VIbq43XKQdNSAhJvD8YET5bhvpc2lF/9v7s/NWKsWK+gImnmQ2c9r
+79zlqsUCgYEAhEGrnWL7krcsz1O06d+Zo5jzewrs/bIzsHqrvMx8slbdBhquLcj6
+OT14Yf+bnaSglZRGOjO7GYn3vOocLlsidz6flGIQ7NNPHsmIcBvXex5dncollG3d
+ybQ204UhYC+sHEjh5729UCWZEVwTIB/PA0XhzkGBWjE/rCSI3XNzCuM=
+-----END RSA PRIVATE KEY-----

+ 16 - 4
ssllist.php

@@ -4,6 +4,11 @@
 <div class="layui-container" style = "margin-top:40px;margin-bottom:60px;">
 	<div class="layui-row">
 		<div class="layui-col-lg10 layui-col-md-offset1">
+			<!--提示-->
+			<div>
+				<pre class="layui-code">注意:域名不需要加http://,比如直接填写west.cn即可。为了方便区分,建议填写备注。</pre>   
+			</div>
+			<!--提示END-->
 			<!--选项卡-->
 			<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
 			  <ul class="layui-tab-title">
@@ -18,14 +23,14 @@
 				<table class="layui-table">
 				  <colgroup>
 				    <col width="50%">
+				    <col width="15%">
 				    <col width="20%">
-				    <col width="20%">
-					<col width="10%">
+					<col width="15%">
 				  </colgroup>
 				  <thead>
 				    <tr>
 				      <th>域名</th>
-				      <th>添加时间</th>
+				      <th>最后更新</th>
 				      <th>备注</th>
 				      <th>操作</th>
 				    </tr> 
@@ -60,7 +65,7 @@
 			  <div class="layui-form-item">
 			    <label class="layui-form-label">备注</label>
 			    <div class="layui-input-block">
-			      <input type="text" id="note" placeholder="备注非必填" autocomplete="off" class="layui-input">
+			      <input type="text" id="note" placeholder="建议填写" autocomplete="off" class="layui-input">
 			    </div>
 			  </div>
 			</form>
@@ -129,6 +134,13 @@ function delssl(id){
 				if(data == 'ok') {
 					$("#ssl"+id).remove();
 				}
+				else {
+					layer.open({
+						title:'温馨提示',
+						content:data,
+						time:2000
+					});
+				}
 			});
 	}else{ 
 		return false; 

+ 13 - 0
static/embed.js

@@ -2,3 +2,16 @@
 layui.use('element',function(){
 	var element = layui.element;
 });
+
+//免责声明
+function statement() {
+	layui.use('layer', function(){
+	 var layer = layui.layer;
+	layer.open({
+	  	title: '免责声明',
+	  	type:2,
+	  	area: ['600px', '500'],
+	  	content: "tpl/statement.html"
+	});   	  
+	});  
+}

BIN
static/no.png


BIN
static/yes.png


+ 9 - 1
tpl/header.php

@@ -1,3 +1,9 @@
+<?php
+	$r = rand(1,99);
+	header('Cache-Control:no-cache,must-revalidate');   
+	header('Pragma:no-cache');   
+	header("Expires:0");
+?>
 <!DOCTYPE html>
 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
 <head>
@@ -8,6 +14,7 @@
 	<meta name="keywords" content="" />
 	<meta name="description" content="" />
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
+	<meta http-equiv="pragma" content="no-cache" />
 	<link rel="shortcut icon" href="favicon.ico"  type="image/x-icon" />
 	<link rel="stylesheet" href="./layui/css/layui.css">
 	<link rel="stylesheet" href="./static/style.css?v=1.1">
@@ -22,12 +29,13 @@
 			<div class="layui-row">
 				<div class="layui-col-lg12">
 					<ul class="layui-nav" lay-filter="">
-					  <li class="layui-nav-item"><a href="./">首页</a></li>
+					  <li class="layui-nav-item"><a href="./index.php">首页</a></li>
 					  <li class="layui-nav-item">
 						  <a href="./ssllist.php">SSL证书列表</a>
 					  </li>
 					  <li class="layui-nav-item"><a href="./installssl.php">部署SSL</a></li>
 					  <li class="layui-nav-item"><a href="./website.php">站点管理</a></li>
+					  <li class="layui-nav-item"><a href="javascript:;" onclick = "statement()">免责声明<span class="layui-badge">1</span></a></li>
 					</ul>
 				</div>
 			</div>

+ 21 - 0
tpl/statement.html

@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta charset="utf-8" />
+	<title>免责声明</title>
+	<meta name="generator" content="EverEdit" />
+	<meta name="author" content="" />
+	<meta name="keywords" content="" />
+	<meta name="description" content="" />
+</head>
+<body>
+	<div style = "margin-left:20px;"><h3>在使用此程序之前,代表您已默认同意以下协议。</h3></div>
+	<div>
+		<ul>
+			<li>此程序需要配置Nginx脚本使用</li>
+			<li>虽然我司经过大量测试,但依然无法保证100%部署成功。</li>
+			<li>如果在使用过程中,因操作不当,导致网站异常等不承担任何责任。</li>
+		</ul>
+	</div>
+</body>
+</html>

+ 23 - 0
vhost/test.com.conf

@@ -0,0 +1,23 @@
+server {
+	ssl on;
+	listen         171.221.7.50:443;
+
+	server_name    test.com;
+	ssl_certificate ../ssl/hixz.org.crt;
+    ssl_certificate_key ../ssl/hixz.org.key;
+	location / {
+		proxy_pass http://127.0.0.1:80;
+		proxy_redirect off;
+		proxy_set_header X-Real-IP $remote_addr;
+		proxy_set_header Host $host;
+		proxy_http_version 1.1;
+		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+		proxy_set_header From-Https on;
+    }
+}
+server
+{
+    listen 80;
+    server_name test.com;
+    rewrite ^(.*) https://test.com$1 permanent;
+}

+ 33 - 0
vhost/test123.xiaoz.me.conf

@@ -0,0 +1,33 @@
+server {
+	listen         171.221.7.50:443 ssl http2;
+	
+	ssl_certificate ../ssl/hixz.org.crt;
+    ssl_certificate_key ../ssl/hixz.org.key;
+	ssl_session_timeout 1d;
+    ssl_session_cache shared:SSL:50m;
+    ssl_session_tickets off;
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
+    ssl_prefer_server_ciphers on;
+    add_header Strict-Transport-Security max-age=15768000;
+    ssl_stapling on;
+    ssl_stapling_verify on;
+
+	server_name    test123.xiaoz.me;
+	
+	location / {
+		proxy_pass http://127.0.0.1:80;
+		proxy_redirect off;
+		proxy_set_header X-Real-IP $remote_addr;
+		proxy_set_header Host $host;
+		proxy_http_version 1.1;
+		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+		proxy_set_header From-Https on;
+    }
+}
+server
+{
+    listen 80;
+    server_name test123.xiaoz.me;
+    rewrite ^(.*) https://test123.xiaoz.me$1 permanent;
+}

+ 33 - 0
vhost/www.123.com.conf

@@ -0,0 +1,33 @@
+server {
+	listen         171.221.7.50:443 ssl http2;
+	
+	ssl_certificate ../ssl/hixz.org.crt;
+    ssl_certificate_key ../ssl/hixz.org.key;
+	ssl_session_timeout 1d;
+    ssl_session_cache shared:SSL:50m;
+    ssl_session_tickets off;
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
+    ssl_prefer_server_ciphers on;
+    add_header Strict-Transport-Security max-age=15768000;
+    ssl_stapling on;
+    ssl_stapling_verify on;
+
+	server_name    www.123.com;
+	
+	location / {
+		proxy_pass http://127.0.0.1:80;
+		proxy_redirect off;
+		proxy_set_header X-Real-IP $remote_addr;
+		proxy_set_header Host $host;
+		proxy_http_version 1.1;
+		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+		proxy_set_header From-Https on;
+    }
+}
+server
+{
+    listen 80;
+    server_name test301.com;
+    rewrite ^(.*) https://test301.com$1 permanent;
+}

+ 37 - 0
vhost/www.baidu.com.conf

@@ -0,0 +1,37 @@
+server {
+	listen         171.221.7.50:443 ssl http2;
+	
+	ssl_certificate ../ssl/hixz.org.crt;
+    ssl_certificate_key ../ssl/hixz.org.key;
+    
+	ssl_session_timeout 1d;
+    ssl_session_cache shared:SSL:50m;
+    ssl_session_tickets off;
+
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
+    ssl_prefer_server_ciphers on;
+
+    add_header Strict-Transport-Security max-age=15768000;
+
+    ssl_stapling on;
+    ssl_stapling_verify on;
+
+	server_name    www.baidu.com;
+	
+	location / {
+		proxy_pass http://127.0.0.1:80;
+		proxy_redirect off;
+		proxy_set_header X-Real-IP $remote_addr;
+		proxy_set_header Host $host;
+		proxy_http_version 1.1;
+		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+		proxy_set_header From-Https on;
+    }
+}
+server
+{
+    listen 80;
+    server_name www.baidu.com;
+    rewrite ^(.*) https://www.baidu.com$1 permanent;
+}

+ 3 - 1
website.php

@@ -19,7 +19,7 @@
 				      <th>域名</th>
 				      <th>证书</th>
 				      <th>强制HTTPS</th>
-				      <th>添加时间</th>
+				      <th>最后更新</th>
 				      <th>操作</th>
 				    </tr> 
 				  </thead>
@@ -40,7 +40,9 @@
 		$("title").empty();
 		$("title").append("站点管理");
 		$.get("./functions/method.php?type=list_site",function(data,status){
+			$("#website").hide();
 			$("#website").append(data);
+			$("#website").show();
 		});
 	});
 	function delsite(id){