asme.sh with DNS Alias Mode

由于 Godaddy 停止了免费的支持ACME SSL 证书签发(DNS 模式),

不得不改用 DNS Alias 模式, 让阿里云 为Godaddy 管理的域名,代理合作签发SSL证书

默认的机构,ZEROSSL,一个初创企业,早已超负荷运转,多数时间已经无法正常签发了。改用Google的证书机构,相对门槛较高,需要有Google帐户,而且国内访问受限,所以签发都一直顺畅。

#!/bin/bash
#
#  Godaddy Domain:
DOMAIN=zhenglei.net
DNSAPI=dns_gd
#  Aliyun Domain as Proxy:
DOMAIN_PROXY=778065.xyz
DNSAPI_PROXY=dns_ali
#  Setup CNAME record mapping of _acme-challenge  between ${DOMAIN} and ${DOMAIN_PROXY}
# _acme-challenge.zhenglei.net       CNAME==>   _acme-challenge.778065.xyz
# _acme-challenge.blog.zhenglei.net  CNAME==>   _acme-challenge.778065.xyz
# ...
# nslookup -type=CNAME _acme-challenge.zhenglei.net
# nslookup -type=CNAME _acme-challenge.blog.zhenglei.net
# Aliyun key & secret to generate acme cert
# dnsapi=dns_ali
Ali_Key="Your Aliyun Key"
Ali_Secret="Your Aliyun Secret"
export Ali_Key=${Ali_Key}
export Ali_Secret=${Ali_Secret}
# Godaddy key & secret to generate acme cert
# dnsapi=dns_gd
GD_Key="Your Godaddy Key"
GD_Secret="Your Godaddy Secret"
#
#  Using alias dns mode of acme.sh
M=" --challenge-alias ${DOMAIN_PROXY} "
N=" --challenge-alias no "
#
#
# IP PROTOCOL
IP=--listen-v6
#
#
#
DNSSLEEP=40
# Init
source  /root/env.sh
ACME_SH=/root/.acme.sh/acme.sh
#
#
DSUB=""
DSUB+=" -d ${DOMAIN} ${M}"
DSUB+=" -d ${DOMAIN_PROXY} ${N}"
DSUB+=" -d blog.${DOMAIN} ${M}"
DSUB+=" -d blog.${DOMAIN_PROXY} ${N}"
DSUB+=" -d blog1.${DOMAIN} ${M} "
DSUB+=" -d blog2.${DOMAIN} ${M} "
DSUB+=" -d gallery.${DOMAIN} ${M} "
DSUB+=" -d gallery.${DOMAIN_PROXY} ${N} "
DSUB+=" -d gallery1.${DOMAIN} ${M} "
DSUB+=" -d gallery2.${DOMAIN} ${M} "
DSUB+=" -d music.${DOMAIN} ${M} "
DSUB+=" -d music.${DOMAIN_PROXY} ${N} "
DSUB+=" -d music1.${DOMAIN} ${M} "
DSUB+=" -d music2.${DOMAIN} ${M} "
DSUB+=" -d mpd.${DOMAIN} ${M} "
DSUB+=" -d mpd.${DOMAIN_PROXY} ${N} "
DSUB+=" -d mympd.${DOMAIN} ${M} "
DSUB+=" -d mympd.${DOMAIN_PROXY} ${N} "
DSUB+=" -d stream.${DOMAIN} ${M} "
DSUB+=" -d stream.${DOMAIN_PROXY} ${N} "
DSUB+=" -d video.${DOMAIN} ${M} "
DSUB+=" -d video.${DOMAIN_PROXY} ${N} "
DSUB+=" -d *.${DOMAIN} ${M} "
DSUB+=" -d *.${DOMAIN_PROXY} ${N} "
P=""
P+=" --dns ${DNSAPI_PROXY} "
P+=" --dnssleep ${DNSSLEEP} "
P+=" -k ec-384 "
P+=" --force "#  Issue:
echo "${ACME_SH} --issue  ${P} ${DSUB}"
      ${ACME_SH} --issue  ${P} ${DSUB}
# Install
INST_PATH=/opt/local/cert/acme_zhenglei.net
INST_CER=${INST_PATH}/fullchain.cer
INST_KEY=${INST_PATH}/zhenglei.net.key
# P+=" --debug "
# P+=" --log "
#  Issue:
echo "${ACME_SH} --issue  ${P} ${DSUB}"
      ${ACME_SH} --issue  ${P} ${DSUB}
# Install
INST_PATH=/opt/local/cert/acme_zhenglei.net
INST_CER=${INST_PATH}/fullchain.cer
INST_KEY=${INST_PATH}/zhenglei.net.key
OPENRESTY=/opt/local/etc/init.d/openresty
${ACME_SH} --install-cert -d ${DOMAIN} \
           --key-file ${INST_KEY} \
           --fullchain-file ${INST_CER} \
           --reloadcmd "${OPENRESTY} stop ; ${OPENRESTY} start"

https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode

Piwigo 站点维护

有两个piwigo插件可用户维护工作:

Check Files Integrity

检查系统文件:插件和主题的完整性

可据此,安装必须的插件或主题

Check Uploads

检查上传用户文件,与数据库是否保持一致

可删除问题文件

ESXi6 虚拟机 IO 直通

客户端OS: Debian12 AMD64

网络适配器: VMXNET 3

虚拟机分配内存: 8G

内存资源分配: 全部锁定

Note:

E1000 不支持直通

虚拟机内存太小(4G),不支持直通,出现错误:已连接网络的状况阻止directpath i/o

刚知道,VMWARE 已经Game Over了

昨日,打算修改一个ESXi虚拟机的配置,WEB CLIENT下没找到修改的地方,就想启动Windows 客户端来试试,结果发现,已经无法下载客户端了。

Google搜寻一下,才知道,VMware已于去年(2024年)被Broadcom博通收购了,呜呼哀哉,世界变化真快,前几年,VMware还雄心勃勃,想在私有云领域大展宏图呢!

被博通收购,在我的脑海中,直观上就是完蛋了,博通只是一家芯片公司,而且主要是外设芯片,不是整机系统,缺乏软件基因。

在路由器领域,相比于高通,MTK,对OPENWRT的支持最糟糕,所以,采用博通芯片的,全部避开。

ESXi和VMware虚拟软件,是购置HP 的Gen8 MicroServer 时,随机赠送的,后来,就懒得改用开源的Docker或K8了,查看一下,发觉快满十年了。

作为一个纯芯片公司,只有快速,当下的交易,没有持续服务的理念。

4万台服务器要瘫?Tesco为啥这时候硬刚博通,VMware到底是啥,为啥能让超市急红眼?纯真世界存在吗

acme.sh with Google SSL certificate

Acme.sh issue SSL certificate with Google

Install acme.sh

    sudo su
    source ~/env.sh
    env|grep proxy|grep http

    curl https://get.acme.sh|sh
    exit
    sudo su
    source ~/env.sh
    source /root/.acme.sh/acme.sh.env
    acme.sh --set-default-ca --server google

Generae EAB:

# Must install Google Cloud SDK first
gcloud publicca external-account-keys create

Register Account:

acme.sh --register-account -m admin@zhenglei.net --server google --eab-kid "your KeyId" --eab-hmac-key "your b64MacKey"

Issue:

sudo su
   
   # Stop services listen 80/443 port
   #/opt/local/etc/init.d/openresty stop
  
   source ~/env.sh
   source /root/.acme.sh/acme.sh.env

   # Only have IP v6 public Address
   acme.sh  --issue  -d blog.zhenglei.net  --standalone --listen-v6

Install Google Cloud SDK on Debian system

Install google-cloud-cli

sudo su

source ~/proxy.sh
env|grep proxy|grep http

apt-get update
apt-get install apt-transport-https ca-certificates gnupg  curl socat

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

apt-get update
apt install google-cloud-cli
gcloud init