- certbot升级到最新版(0.23以上),签发证书: https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx
- 检查
/etc/letsencript/renewal
文件夹下renewal配置 - 运行
certbot renew --dry-run
测试更新证书是否成功
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
/etc/letsencript/renewal
文件夹下renewal配置certbot renew --dry-run
测试更新证书是否成功openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
#!/usr/bin/env bash | |
function ergodic(){ | |
for file in `ls $1` | |
do | |
if [ -d "$1/$file" ] | |
then | |
ergodic "$1/$file" | |
else | |
echo "Uploading $1/$file" |
Only files under 25 MB can be previewed with the Google Drive viewer.
Google Drive viewer helps you preview over 16 different file types, listed below:
var flag = false; | |
var timer = null; | |
window.addEventListener('load', function () { | |
if (!flag) { | |
flag = true; | |
document.getElementById("load").style["display"] = "none"; | |
clearTimeout(timer); | |
} | |
}, false); | |
timer = setTimeout(function () { |
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> | |
<meta http-equiv="Pragma" content="no-cache" /> | |
<meta http-equiv="Expires" content="0" /> |
var routeData = angular.module('RouteData', []); | |
routeData.provider('RouteData', function () { | |
var settings = {}; | |
var hookToRootScope = false; | |
this.applyConfig = function (newSettings) { | |
settings = newSettings; | |
}; |
app.filter('rangeFilter', function () { | |
return function (items, sliderRanges) { | |
var filtered = []; | |
var expectedReturnMin = sliderRanges.expectedReturnMin; | |
var expectedReturnMax = sliderRanges.expectedReturnMax; | |
var durationMin = sliderRanges.durationMin; | |
var durationMax = sliderRanges.durationMax; | |
angular.forEach(items, function (item) { |
var securityService = angular.module('security.service', []); | |
//Security | |
securityService.factory('Security', [ | |
'$http', '$location', '$cookieStore', 'API_SERVER', '$window', '$route', 'toaster', | |
function ($http, $location, $cookieStore, API_SERVER, $window, $route, toaster) { | |
var security = {}; | |
//login |
var securityInterceptor = angular.module('security.interceptor', []); | |
//securityInterceptor, add token to page_header | |
securityInterceptor.factory('securityInterceptor', ['$q', '$cookieStore', '$location', 'toaster', | |
function ($q, $cookieStore, $location, toaster) { | |
var token = $cookieStore.get('token'); | |
return { | |
'request': function (config) { | |
config.headers = config.headers || {}; | |
if (token) { |