一共有 40 篇文章,分页:1 / 8

使用acme.sh从 letsencrypt 生成免费的SSL证书

acme.sh是一个简洁无依赖的命令行工具,可以从 letsencrypt 生成免费的证书.

安装

curl  https://get.acme.sh | sh

记得安装完之后需要重新登录ssh这样命令才会生效

申请证书

#//nginx自动验证
acme.sh --issue  -d www.abc.com  --nginx

2018年2月份以后letsencrypt支持了泛域名证书!acme.sh也支持申请泛域名证书,申请泛域名证书必须使用dns验证,如果需要自动需求,假设我们的域名是使用的cloudflare那可以这样:

acme.sh  --force   --issue -d *.abc.com --dns dns_cf

上面命令可能报错,因为你还没有指定cloudflare的key,需要先指定:

export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export CF_Email="xxxx@sss.com"

阿里云dns验证:

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
acme.sh --issue --dns dns_ali  -d *.example.com

更多dns验证的用法看这里:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

安装证书

mkdir -p /data/cert

acme.sh  --installcert  -d  www.abc.com --key-file /data/cert/www.abc.com.key --fullchain-file /data/cert/www.abc.com.cer --reloadcmd  "service nginx force-reload"

配置nginx

server {
    listen 80;
    server_name www.abc.com;

    index  index.html;  
    root  /data/wwwroot;    


    listen        443 ssl;
    ssl        off;
    ssl_certificate        /data/cert/www.abc.com.cer;
    ssl_certificate_key    /data/cert/www.abc.com.key;
}

参考链接:

https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

https://community.letsencrypt.org/t/acme-sh-supports-acme-v2-wildcard-now/49685

centos 7 安装maven 和 自动编译

wget http://mirrors.shuosc.org/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar -xzf apache-maven-3.5.2-bin.tar.gz
mv apache-maven-3.5.2 /usr/local/apache-maven

cat > /etc/profile.d/maven.sh << EOF

export JAVA_HOME=/data/jdk1.8.0_144  
export JRE_HOME=/data/jdk1.8.0_144/jre   
export MAVEN_HOME=/usr/local/apache-maven
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH

EOF

编译脚本参考

#!/bin/bash

source /etc/profile

cd /data/dev/project1/

#环境变量设置
export JAVA_HOME=/data/jdk1.8.0_144  
export JRE_HOME=/data/jdk1.8.0_144/jre   
export MAVEN_HOME=/usr/local/apache-maven
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH

#如果需要全新安装项目依赖请先执行下面一行
#mvn clean install dependency:resolve

#编译
mvn prepare-package war:exploded

weex使用iconfont的Unicode问题

weex不能使用网页里用的Unicode编码字符串,比如& #xe702;需要使用\ue702这种形式才能正确显示

<div v-for="(item,index) in tabTitles">
<text style="font-family: iconfont;">{{item.icon}}</text>
<text style="font-family: iconfont;">{{'\ue702'}}</text>
</div>
export default {
  data() {
    return {
      tabTitles: [
        { title: "标签1", icon: "\ue702" },
        { title: "标签2", icon: "\ue622" },
        { title: "标签3", icon: "\ue60a" },
        { title: "标签4", icon: "\ue623" },
        { title: "标签5", icon: "\ue715" }
      ]
    };
  }
}

Windows自带MD5校验命令

certutil -hashfile app.exe MD5
certutil -hashfile app.exe SHA1
certutil -hashfile app.exe SHA256

let's encrypt自动续期

2018年4月更新:推荐使用acme.sh,比certbot好用,纯shell没有依赖

Certbot 是let's encrypt在Linux的客户端,let's encrypt生成的证书默认有效期是三个月,certbot提供了一个自动续期的脚本。

certbot 安装包是在 EPEL 仓库里的,如果你的系统没有安装 EPEL 仓库,记得先安装它:

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

然后安装 certbot,这里以nginx为例:

yum install certbot-nginx
阅读全文 »»