 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
systemctl status nginx
sudo yum install nginx -y
sudo systemctl start nginx
sudo yum install -y aliyun-repo
echo 3 > /proc/sys/vm/drop_caches
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
sudo yum install nginx -y
ss -tuln | grep ':80\|:443'
sudo apt update && sudo apt install nginx -y
sudo yum install nginx -y
free -h
sudo fallocate -l 1G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo yum install nginx -y
wget -O nginx.tar.gz http://nginx.org/download/nginx-1.26.1.tar.gz
python3 --version
mkdir -p ~/soeasy && echo '<h1>Welcome to soeasy.icu</h1><p>Your domain is working!</p>' > ~/soeasy/index.html
cd ~/soeasy && nohup python3 -m http.server 8000 > /dev/null 2>&1 &
curl -s http://localhost:8000
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
ss -tuln | grep ':80\|:443'
sudo ufw status
curl -s http://127.0.0.1:8000 | head -n 5
curl -s https://api.ipify.org && echo " (服务器公网IP)" && nslookup soeasy.icu 2>&1 | grep -A1 'Non-authoritative answer:'
if command -v nslookup >/dev/null 2>&1; then echo "nslookup 已安装"; else if grep -q 'Ubuntu\|Debian' /etc/os-release 2>/dev/null; then sudo apt update -y && sudo apt install dnsutils -y; elif grep -q 'CentOS\|Alibaba' /etc/os-release 2>/dev/null; then sudo yum install bind-utils -y; fi; fi
dig +short soeasy.icu
curl -s "https://cloudflare-dns.com/dns-query?name=soeasy.icu&type=A" -H "accept: application/dns-json" | grep -oE '"data":"[^"]+"' | head -1 | cut -d'"' -f4
curl -s http://47.254.196.83:8000 | grep -o "<h1>Welcome to soeasy.icu</h1>"
curl -s http://100.100.100.200/latest/meta-data/instance-id && echo "" && curl -s http://100.100.100.200/latest/meta-data/region-id
# 放行 8000 端口
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
# 重启防火墙让规则生效
sudo apt update && sudo apt install nginx -y
sudo yum install nginx -y
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo swapoff /swapfile 2>/dev/null || true && sudo rm -f /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo yum install nginx -y
mkdir -p /root/ssl && touch /root/ssl/soeasy.icu.pem /root/ssl/soeasy.icu.key
mkdir -p ~/ssl && touch ~/ssl/soeasy.icu.pem ~/ssl/soeasy.icu.key
cat > ~/ssl/soeasy.icu.pem << 'EOF'
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15Z
JLRu2Z9qSxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQz
Z50xYanVQ8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9
rIhxovumS5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/
1JH09OLtA61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdv
BX8YJWgZqV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABAoIBABjXe67jzHPR1oTC
DlxWTHm8bI4g8a073AsslAcl9Ofneh0f3zyfIhUAVqfFPRTLmTdNx8csHWOuA7xA
Ca91THCDS00VFXIjhGtOfIAVw2/lq4BX8ZAGgpYCSKIzwnnWTVE9zfl+SiZd7yew
KsgdJ5/QCW0lQ8JnkdfqHwQeko7hJo1myxAbUya5jpkav8UagJcxzwyZAVBqEyHh
6SkX4Z6DkaQ0yq+MFV77WsUA6Set3pyWwVT6WUu6xaJrDUcrvlVbKO4dK8RPW+Tz
SKEPUBQ3w+iOev4HjNA9MTAEVG57bcpksmciRpVEmaKXOVWp8E4wknilR0lvZKNh
DGMWnrkCgYEA6IxSmxcWVmaMKnmUibZeQ9LKMCGhlG0DW2Rnf7NTXYCYJGKGKvVE
pzMlMCin5OKQdase/ot8b3Wp32gsd46gIY1KeC3zHphdvUqW7unmVNpqoGdG92RZ
gllOgx6c9rXQW/8ZgO77Xv4+2WT+kyLjd6GTuwQZDDfQArKjqBfaVSUCgYEA5KU7
2lpR2M4v6wlKM5ViF1K7Dx+LAKUlzS3WwEzvuqCAMP1Sd7Dj7AVDSnkJKwIEzoik
5b7+nkyVF26CVd3v7PUHvHEjAJwVr+0PxFshw2Igxe3iW3cZY6J6YvGfr4N5nq+t
/ilvTdlxPD5mJdRiCJG6v3SwRhPF+hXtg7X4gi0CgYEAmJjD+AtdWBLwtUqUww1N
rBndHVpkSh6Czm0DUZPeB4RD0dRpEDVj+IeiRojXK2XUv7Iro4Lqg8VlVDlqvIV1
5K5viI82cwQutvEEPAB2aYXt5BYBRoOuDNAHqhjjjSzfbg7msGmhv8L8gPE58Fk7
hJwdceINgav6LlsE81+7oJUCgYB06qk4dobzvjtyjEWNKw4FryBIE3EY21oBGTd/
DdhoLjpe0qqg2asyvV4zbsDpZRbgJa9sa8X3XGHAoZm0HtDY8lMKYS/s1+OfGjG9
znvtVPg9Pe9JphUthZ/fiH6HWUuPgXYPSVDJFi95Bs9k+L1IdHxx+lFJBENwJlZV
y29P4QKBgAIM5KogHwDK46a2IsSYtFJnBoXXUle5Rw3EU/1VQ7qzeijo4jhMS3iH
qFnp4NFwrnGJiAztuflpjQkErnYxHgWNp90RfzbqE5LpFvMQqys9xLgUAtnrxLug
62UBslnYjcDw1xGuMeBmp6txWBegD/62vC0opQCtu6plasMQVy8W
-----END RSA PRIVATE KEY-----
EOF

-----BEGIN CERTIFICATE-----
MIIF/DCCBOSgAwIBAgIQC3gHDyBQy7HIV+mizDm/yDANBgkqhkiG9w0BAQsFADBu
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg
RFYgVExTIENBIC0gRzIwHhcNMjYwNjE1MDAwMDAwWhcNMjYwOTEyMjM1OTU5WjAV
MRMwEQYDVQQDEwpzb2Vhc3kuaWN1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15ZJLRu2Z9q
SxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQzZ50xYanV
Q8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9rIhxovum
S5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/1JH09OLt
A61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdvBX8YJWgZ
qV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABo4IC7TCCAukwHwYDVR0jBBgwFoAU
eN+RkF/u3qz2xXXr1UxVU+8kSrYwHQYDVR0OBBYEFIHjjJYiWc744kf7LYsxGH7n
kvxKMCUGA1UdEQQeMByCCnNvZWFzeS5pY3WCDnd3dy5zb2Vhc3kuaWN1MD4GA1Ud
IAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNl
cnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMIGABggrBgEFBQcBAQR0MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
Y3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEFBQcwAoY+aHR0cDovL2NhY2VydHMuZGln
aWNlcnQuY29tL0VuY3J5cHRpb25FdmVyeXdoZXJlRFZUTFNDQS1HMi5jcnQwDAYD
VR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYAwjF+V0UZo0Xu
fzjespBB68fCIVoiv3/Vta12mtkOUs0AAAGeypwO5AAABAMARzBFAiA3usxrnRqQ
LoxkJgYW4NE1lpYKpRj+H0jV9MmCMusUnwIhALril3zkhvsM972qucLcdMpQcJH5
nwVcu8QWPylA/UHoAHcA2AlVO5RPev/IFhlvlE+Fq7D4/F6HVSYPFdEucrtFSxQA
AAGeypwPEwAABAMASDBGAiEAyv2hGaYgnO0pHlATc8QY1K+41NQzyapBB9Z59hxA
QMYCIQCoxzH6SmMe4DXmpS9eNa6tjMrkRcWR64YZuwxN6Zn+zwB1AJROQ4f67MHv
gfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABnsqcDvIAAAQDAEYwRAIgPp27f3+X
Xt78VT8KyVYqgwItExbtRChrrByyKHkKdAICIDsTqRM4CnWJoKAE+GwrIKp2hCtJ
XHqjL2b0/lZF2ZeHMA0GCSqGSIb3DQEBCwUAA4IBAQBt2hsJVIoyqDXF3UmsQHnu
soXTK7TFYc39cseFdmn+dPSrXmIscK6UJy7E2F9H/C+qLse0rvObd1BYMd5RF0N9
W67aHL0wjmBWTXgCE0Kn9CsxRm/vI2XNvu7PtEhr1hNosnAFuoMKoH+brbKak/vX
eQ6aST9JSeNQGXGI7euKfvIHP58Q9kmssbLcSawH2xfXwLu8mJ/4WRZ3+vEuxXVR
6I9NdaifGjH4OPsLTa6ooqwwD9IK5jN7vICwcpeHm/Dc+BJ9fTiUib36WGGn/pID
v8h3Mb5303UYY4AeDO5DdbmI6bxfA2ARyq8K3x8udWc9oi4o8Wgmo9sUvyQHBAB9
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIQDeD/te5iy2EQn2CMnO1e0zANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xNzExMjcxMjQ2NDBaFw0yNzExMjcxMjQ2NDBaMG4xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBH
MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8Uf46i/nr7pkgTDqnE
eSIfCFqvPnUq3aF1tMJ5hh9MnO6Lmt5UdHfBGwC9Si+XjK12cjZgxObsL6Rg1njv
NhAMJ4JunN0JGGRJGSevbJsA3sc68nbPQzuKp5Jc8vpryp2mts38pSCXorPR+sch
QisKA7OSQ1MjcFN0d7tbrceWFNbzgL2csJVQeogOBGSe/KZEIZw6gXLKeFe7mupn
NYJROi2iC11+HuF79iAttMc32Cv6UOxixY/3ZV+LzpLnklFq98XORgwkIJL1HuvP
ha8yvb+W6JislZJL+HLFtidoxmI7Qm3ZyIV66W533DsGFimFJkz3y0GeHWuSVMbI
lfsCAwEAAaOCAU8wggFLMB0GA1UdDgQWBBR435GQX+7erPbFdevVTFVT7yRKtjAf
BgNVHSMEGDAWgBROIlQgGJXm427mD/r6uRLtBhePOTAOBgNVHQ8BAf8EBAMCAYYw
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8C
AQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
Y2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQu
Y29tL0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG
/WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT
MAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAoBs1eCLKakLtVRPFRjBIJ9LJ
L0s8ZWum8U8/1TMVkQMBn+CPb5xnCD0GSA6L/V0ZFrMNqBirrr5B241OesECvxIi
98bZ90h9+q/X5eMyOD35f8YTaEMpdnQCnawIwiHx06/0BfiTj+b/XQih+mqt3ZXe
xNCJqKexdiB2IWGSKcgahPacWkk/BAQFisKIFYEqHzV974S3FAz/8LIfD58xnsEN
GfzyIDkH3JrwYZ8caPTf6ZX9M1GrISN8HnWTtdNCH2xEajRa/h9ZBXjUyFKQrGk2
n2hcLrfZSbynEC/pSw/ET7H5nWwckjmAJ1l9fcnbqkU/pf6uMQmnfl0JQjJNSg==
-----END CERTIFICATE-----
$ cat > ~/ssl/soeasy.icu.pem << 'EOF'
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15Z
JLRu2Z9qSxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQz
Z50xYanVQ8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9
rIhxovumS5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/
1JH09OLtA61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdv
BX8YJWgZqV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABAoIBABjXe67jzHPR1oTC
DlxWTHm8bI4g8a073AsslAcl9Ofneh0f3zyfIhUAVqfFPRTLmTdNx8csHWOuA7xA
Ca91THCDS00VFXIjhGtOfIAVw2/lq4BX8ZAGgpYCSKIzwnnWTVE9zfl+SiZd7yew
KsgdJ5/QCW0lQ8JnkdfqHwQeko7hJo1myxAbUya5jpkav8UagJcxzwyZAVBqEyHh
6SkX4Z6DkaQ0yq+MFV77WsUA6Set3pyWwVT6WUu6xaJrDUcrvlVbKO4dK8RPW+Tz
SKEPUBQ3w+iOev4HjNA9MTAEVG57bcpksmciRpVEmaKXOVWp8E4wknilR0lvZKNh
DGMWnrkCgYEA6IxSmxcWVmaMKnmUibZeQ9LKMCGhlG0DW2Rnf7NTXYCYJGKGKvVE
pzMlMCin5OKQdase/ot8b3Wp32gsd46gIY1KeC3zHphdvUqW7unmVNpqoGdG92RZ
gllOgx6c9rXQW/8ZgO77Xv4+2WT+kyLjd6GTuwQZDDfQArKjqBfaVSUCgYEA5KU7
2lpR2M4v6wlKM5ViF1K7Dx+LAKUlzS3WwEzvuqCAMP1Sd7Dj7AVDSnkJKwIEzoik
5b7+nkyVF26CVd3v7PUHvHEjAJwVr+0PxFshw2Igxe3iW3cZY6J6YvGfr4N5nq+t
/ilvTdlxPD5mJdRiCJG6v3SwRhPF+hXtg7X4gi0CgYEAmJjD+AtdWBLwtUqUww1N
rBndHVpkSh6Czm0DUZPeB4RD0dRpEDVj+IeiRojXK2XUv7Iro4Lqg8VlVDlqvIV1
5K5viI82cwQutvEEPAB2aYXt5BYBRoOuDNAHqhjjjSzfbg7msGmhv8L8gPE58Fk7
hJwdceINgav6LlsE81+7oJUCgYB06qk4dobzvjtyjEWNKw4FryBIE3EY21oBGTd/
DdhoLjpe0qqg2asyvV4zbsDpZRbgJa9sa8X3XGHAoZm0HtDY8lMKYS/s1+OfGjG9
znvtVPg9Pe9JphUthZ/fiH6HWUuPgXYPSVDJFi95Bs9k+L1IdHxx+lFJBENwJlZV
y29P4QKBgAIM5KogHwDK46a2IsSYtFJnBoXXUle5Rw3EU/1VQ7qzeijo4jhMS3iH
qFnp4NFwrnGJiAztuflpjQkErnYxHgWNp90RfzbqE5LpFvMQqys9xLgUAtnrxLug
62UBslnYjcDw1xGuMeBmp6txWBegD/62vC0opQCtu6plasMQVy8W
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIF/DCCBOSgAwIBAgIQC3gHDyBQy7HIV+mizDm/yDANBgkqhkiG9w0BAQsFADBu
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg
RFYgVExTIENBIC0gRzIwHhcNMjYwNjE1MDAwMDAwWhcNMjYwOTEyMjM1OTU5WjAV
MRMwEQYDVQQDEwpzb2Vhc3kuaWN1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15ZJLRu2Z9q
SxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQzZ50xYanV
Q8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9rIhxovum
S5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/1JH09OLt
A61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdvBX8YJWgZ
qV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABo4IC7TCCAukwHwYDVR0jBBgwFoAU
eN+RkF/u3qz2xXXr1UxVU+8kSrYwHQYDVR0OBBYEFIHjjJYiWc744kf7LYsxGH7n
kvxKMCUGA1UdEQQeMByCCnNvZWFzeS5pY3WCDnd3dy5zb2Vhc3kuaWN1MD4GA1Ud
IAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNl
cnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMIGABggrBgEFBQcBAQR0MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
Y3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEFBQcwAoY+aHR0cDovL2NhY2VydHMuZGln
aWNlcnQuY29tL0VuY3J5cHRpb25FdmVyeXdoZXJlRFZUTFNDQS1HMi5jcnQwDAYD
VR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYAwjF+V0UZo0Xu
fzjespBB68fCIVoiv3/Vta12mtkOUs0AAAGeypwO5AAABAMARzBFAiA3usxrnRqQ
LoxkJgYW4NE1lpYKpRj+H0jV9MmCMusUnwIhALril3zkhvsM972qucLcdMpQcJH5
nwVcu8QWPylA/UHoAHcA2AlVO5RPev/IFhlvlE+Fq7D4/F6HVSYPFdEucrtFSxQA
AAGeypwPEwAABAMASDBGAiEAyv2hGaYgnO0pHlATc8QY1K+41NQzyapBB9Z59hxA
QMYCIQCoxzH6SmMe4DXmpS9eNa6tjMrkRcWR64YZuwxN6Zn+zwB1AJROQ4f67MHv
gfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABnsqcDvIAAAQDAEYwRAIgPp27f3+X
Xt78VT8KyVYqgwItExbtRChrrByyKHkKdAICIDsTqRM4CnWJoKAE+GwrIKp2hCtJ
XHqjL2b0/lZF2ZeHMA0GCSqGSIb3DQEBCwUAA4IBAQBt2hsJVIoyqDXF3UmsQHnu
soXTK7TFYc39cseFdmn+dPSrXmIscK6UJy7E2F9H/C+qLse0rvObd1BYMd5RF0N9
W67aHL0wjmBWTXgCE0Kn9CsxRm/vI2XNvu7PtEhr1hNosnAFuoMKoH+brbKak/vX
eQ6aST9JSeNQGXGI7euKfvIHP58Q9kmssbLcSawH2xfXwLu8mJ/4WRZ3+vEuxXVR
6I9NdaifGjH4OPsLTa6ooqwwD9IK5jN7vICwcpeHm/Dc+BJ9fTiUib36WGGn/pID
v8h3Mb5303UYY4AeDO5DdbmI6bxfA2ARyq8K3x8udWc9oi4o8Wgmo9sUvyQHBAB9
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIQDeD/te5iy2EQn2CMnO1e0zANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xNzExMjcxMjQ2NDBaFw0yNzExMjcxMjQ2NDBaMG4xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBH
MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8Uf46i/nr7pkgTDqnE
eSIfCFqvPnUq3aF1tMJ5hh9MnO6Lmt5UdHfBGwC9Si+XjK12cjZgxObsL6Rg1njv
NhAMJ4JunN0JGGRJGSevbJsA3sc68nbPQzuKp5Jc8vpryp2mts38pSCXorPR+sch
QisKA7OSQ1MjcFN0d7tbrceWFNbzgL2csJVQeogOBGSe/KZEIZw6gXLKeFe7mupn
NYJROi2iC11+HuF79iAttMc32Cv6UOxixY/3ZV+LzpLnklFq98XORgwkIJL1HuvP
ha8yvb+W6JislZJL+HLFtidoxmI7Qm3ZyIV66W533DsGFimFJkz3y0GeHWuSVMbI
lfsCAwEAAaOCAU8wggFLMB0GA1UdDgQWBBR435GQX+7erPbFdevVTFVT7yRKtjAf
BgNVHSMEGDAWgBROIlQgGJXm427mD/r6uRLtBhePOTAOBgNVHQ8BAf8EBAMCAYYw
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8C
AQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
Y2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQu
Y29tL0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG
/WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT
MAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAoBs1eCLKakLtVRPFRjBIJ9LJ
L0s8ZWum8U8/1TMVkQMBn+CPb5xnCD0GSA6L/V0ZFrMNqBirrr5B241OesECvxIi
98bZ90h9+q/X5eMyOD35f8YTaEMpdnQCnawIwiHx06/0BfiTj+b/XQih+mqt3ZXe
xNCJqKexdiB2IWGSKcgahPacWkk/BAQFisKIFYEqHzV974S3FAz/8LIfD58xnsEN
GfzyIDkH3JrwYZ8caPTf6ZX9M1GrISN8HnWTtdNCH2xEajRa/h9ZBXjUyFKQrGk2
n2hcLrfZSbynEC/pSw/ET7H5nWwckjmAJ1l9fcnbqkU/pf6uMQmnfl0JQjJNSg==
-----END CERTIFICATE-----
EOF

cat > ~/ssl/soeasy.icu.pem
-----BEGIN CERTIFICATE-----
MIIF/DCCBOSgAwIBAgIQC3gHDyBQy7HIV+mizDm/yDANBgkqhkiG9w0BAQsFADBu
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg
RFYgVExTIENBIC0gRzIwHhcNMjYwNjE1MDAwMDAwWhcNMjYwOTEyMjM1OTU5WjAV
MRMwEQYDVQQDEwpzb2Vhc3kuaWN1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15ZJLRu2Z9q
SxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQzZ50xYanV
Q8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9rIhxovum
S5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/1JH09OLt
A61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdvBX8YJWgZ
qV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABo4IC7TCCAukwHwYDVR0jBBgwFoAU
eN+RkF/u3qz2xXXr1UxVU+8kSrYwHQYDVR0OBBYEFIHjjJYiWc744kf7LYsxGH7n
kvxKMCUGA1UdEQQeMByCCnNvZWFzeS5pY3WCDnd3dy5zb2Vhc3kuaWN1MD4GA1Ud
IAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNl
cnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMIGABggrBgEFBQcBAQR0MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
Y3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEFBQcwAoY+aHR0cDovL2NhY2VydHMuZGln
aWNlcnQuY29tL0VuY3J5cHRpb25FdmVyeXdoZXJlRFZUTFNDQS1HMi5jcnQwDAYD
VR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYAwjF+V0UZo0Xu
fzjespBB68fCIVoiv3/Vta12mtkOUs0AAAGeypwO5AAABAMARzBFAiA3usxrnRqQ
LoxkJgYW4NE1lpYKpRj+H0jV9MmCMusUnwIhALril3zkhvsM972qucLcdMpQcJH5
nwVcu8QWPylA/UHoAHcA2AlVO5RPev/IFhlvlE+Fq7D4/F6HVSYPFdEucrtFSxQA
AAGeypwPEwAABAMASDBGAiEAyv2hGaYgnO0pHlATc8QY1K+41NQzyapBB9Z59hxA
QMYCIQCoxzH6SmMe4DXmpS9eNa6tjMrkRcWR64YZuwxN6Zn+zwB1AJROQ4f67MHv
gfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABnsqcDvIAAAQDAEYwRAIgPp27f3+X
Xt78VT8KyVYqgwItExbtRChrrByyKHkKdAICIDsTqRM4CnWJoKAE+GwrIKp2hCtJ
XHqjL2b0/lZF2ZeHMA0GCSqGSIb3DQEBCwUAA4IBAQBt2hsJVIoyqDXF3UmsQHnu
soXTK7TFYc39cseFdmn+dPSrXmIscK6UJy7E2F9H/C+qLse0rvObd1BYMd5RF0N9
W67aHL0wjmBWTXgCE0Kn9CsxRm/vI2XNvu7PtEhr1hNosnAFuoMKoH+brbKak/vX
eQ6aST9JSeNQGXGI7euKfvIHP58Q9kmssbLcSawH2xfXwLu8mJ/4WRZ3+vEuxXVR
6I9NdaifGjH4OPsLTa6ooqwwD9IK5jN7vICwcpeHm/Dc+BJ9fTiUib36WGGn/pID
v8h3Mb5303UYY4AeDO5DdbmI6bxfA2ARyq8K3x8udWc9oi4o8Wgmo9sUvyQHBAB9
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIQDeD/te5iy2EQn2CMnO1e0zANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xNzExMjcxMjQ2NDBaFw0yNzExMjcxMjQ2NDBaMG4xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBH
MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8Uf46i/nr7pkgTDqnE
eSIfCFqvPnUq3aF1tMJ5hh9MnO6Lmt5UdHfBGwC9Si+XjK12cjZgxObsL6Rg1njv
NhAMJ4JunN0JGGRJGSevbJsA3sc68nbPQzuKp5Jc8vpryp2mts38pSCXorPR+sch
QisKA7OSQ1MjcFN0d7tbrceWFNbzgL2csJVQeogOBGSe/KZEIZw6gXLKeFe7mupn
NYJROi2iC11+HuF79iAttMc32Cv6UOxixY/3ZV+LzpLnklFq98XORgwkIJL1HuvP
ha8yvb+W6JislZJL+HLFtidoxmI7Qm3ZyIV66W533DsGFimFJkz3y0GeHWuSVMbI
lfsCAwEAAaOCAU8wggFLMB0GA1UdDgQWBBR435GQX+7erPbFdevVTFVT7yRKtjAf
BgNVHSMEGDAWgBROIlQgGJXm427mD/r6uRLtBhePOTAOBgNVHQ8BAf8EBAMCAYYw
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8C
AQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
Y2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQu
Y29tL0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG
/WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT
MAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAoBs1eCLKakLtVRPFRjBIJ9LJ
L0s8ZWum8U8/1TMVkQMBn+CPb5xnCD0GSA6L/V0ZFrMNqBirrr5B241OesECvxIi
98bZ90h9+q/X5eMyOD35f8YTaEMpdnQCnawIwiHx06/0BfiTj+b/XQih+mqt3ZXe
xNCJqKexdiB2IWGSKcgahPacWkk/BAQFisKIFYEqHzV974S3FAz/8LIfD58xnsEN
GfzyIDkH3JrwYZ8caPTf6ZX9M1GrISN8HnWTtdNCH2xEajRa/h9ZBXjUyFKQrGk2
n2hcLrfZSbynEC/pSw/ET7H5nWwckjmAJ1l9fcnbqkU/pf6uMQmnfl0JQjJNSg==
-----END CERTIFICATE-----
cat > ~/ssl/soeasy.icu.pem << 'EOF'
-----BEGIN CERTIFICATE-----
MIIF/DCCBOSgAwIBAgIQC3gHDyBQy7HIV+mizDm/yDANBgkqhkiG9w0BAQsFADBu
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg
RFYgVExTIENBIC0gRzIwHhcNMjYwNjE1MDAwMDAwWhcNMjYwOTEyMjM1OTU5WjAV
MRMwEQYDVQQDEwpzb2Vhc3kuaWN1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15ZJLRu2Z9q
SxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQzZ50xYanV
Q8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9rIhxovum
S5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/1JH09OLt
A61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdvBX8YJWgZ
qV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABo4IC7TCCAukwHwYDVR0jBBgwFoAU
eN+RkF/u3qz2xXXr1UxVU+8kSrYwHQYDVR0OBBYEFIHjjJYiWc744kf7LYsxGH7n
kvxKMCUGA1UdEQQeMByCCnNvZWFzeS5pY3WCDnd3dy5zb2Vhc3kuaWN1MD4GA1Ud
IAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNl
cnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMIGABggrBgEFBQcBAQR0MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
Y3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEFBQcwAoY+aHR0cDovL2NhY2VydHMuZGln
aWNlcnQuY29tL0VuY3J5cHRpb25FdmVyeXdoZXJlRFZUTFNDQS1HMi5jcnQwDAYD
VR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYAwjF+V0UZo0Xu
fzjespBB68fCIVoiv3/Vta12mtkOUs0AAAGeypwO5AAABAMARzBFAiA3usxrnRqQ
LoxkJgYW4NE1lpYKpRj+H0jV9MmCMusUnwIhALril3zkhvsM972qucLcdMpQcJH5
nwVcu8QWPylA/UHoAHcA2AlVO5RPev/IFhlvlE+Fq7D4/F6HVSYPFdEucrtFSxQA
AAGeypwPEwAABAMASDBGAiEAyv2hGaYgnO0pHlATc8QY1K+41NQzyapBB9Z59hxA
QMYCIQCoxzH6SmMe4DXmpS9eNa6tjMrkRcWR64YZuwxN6Zn+zwB1AJROQ4f67MHv
gfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABnsqcDvIAAAQDAEYwRAIgPp27f3+X
Xt78VT8KyVYqgwItExbtRChrrByyKHkKdAICIDsTqRM4CnWJoKAE+GwrIKp2hCtJ
XHqjL2b0/lZF2ZeHMA0GCSqGSIb3DQEBCwUAA4IBAQBt2hsJVIoyqDXF3UmsQHnu
soXTK7TFYc39cseFdmn+dPSrXmIscK6UJy7E2F9H/C+qLse0rvObd1BYMd5RF0N9
W67aHL0wjmBWTXgCE0Kn9CsxRm/vI2XNvu7PtEhr1hNosnAFuoMKoH+brbKak/vX
eQ6aST9JSeNQGXGI7euKfvIHP58Q9kmssbLcSawH2xfXwLu8mJ/4WRZ3+vEuxXVR
6I9NdaifGjH4OPsLTa6ooqwwD9IK5jN7vICwcpeHm/Dc+BJ9fTiUib36WGGn/pID
v8h3Mb5303UYY4AeDO5DdbmI6bxfA2ARyq8K3x8udWc9oi4o8Wgmo9sUvyQHBAB9
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEqjCCA5KgAwIBAgIQDeD/te5iy2EQn2CMnO1e0zANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xNzExMjcxMjQ2NDBaFw0yNzExMjcxMjQ2NDBaMG4xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBH
MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO8Uf46i/nr7pkgTDqnE
eSIfCFqvPnUq3aF1tMJ5hh9MnO6Lmt5UdHfBGwC9Si+XjK12cjZgxObsL6Rg1njv
NhAMJ4JunN0JGGRJGSevbJsA3sc68nbPQzuKp5Jc8vpryp2mts38pSCXorPR+sch
QisKA7OSQ1MjcFN0d7tbrceWFNbzgL2csJVQeogOBGSe/KZEIZw6gXLKeFe7mupn
NYJROi2iC11+HuF79iAttMc32Cv6UOxixY/3ZV+LzpLnklFq98XORgwkIJL1HuvP
ha8yvb+W6JislZJL+HLFtidoxmI7Qm3ZyIV66W533DsGFimFJkz3y0GeHWuSVMbI
lfsCAwEAAaOCAU8wggFLMB0GA1UdDgQWBBR435GQX+7erPbFdevVTFVT7yRKtjAf
BgNVHSMEGDAWgBROIlQgGJXm427mD/r6uRLtBhePOTAOBgNVHQ8BAf8EBAMCAYYw
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8C
AQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
Y2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQu
Y29tL0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG
/WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT
MAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAoBs1eCLKakLtVRPFRjBIJ9LJ
L0s8ZWum8U8/1TMVkQMBn+CPb5xnCD0GSA6L/V0ZFrMNqBirrr5B241OesECvxIi
98bZ90h9+q/X5eMyOD35f8YTaEMpdnQCnawIwiHx06/0BfiTj+b/XQih+mqt3ZXe
xNCJqKexdiB2IWGSKcgahPacWkk/BAQFisKIFYEqHzV974S3FAz/8LIfD58xnsEN
GfzyIDkH3JrwYZ8caPTf6ZX9M1GrISN8HnWTtdNCH2xEajRa/h9ZBXjUyFKQrGk2
n2hcLrfZSbynEC/pSw/ET7H5nWwckjmAJ1l9fcnbqkU/pf6uMQmnfl0JQjJNSg==
-----END CERTIFICATE-----

ls -l ~/ssl/soeasy.icu.pem
cat > ~/ssl/soeasy.icu.key << 'EOF'
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAz7MSYg8Zix8vMiJtQhuO70JCSKaOXiRCyhVdpEJuSTO3c15Z
JLRu2Z9qSxSN34a0JUOfr6eTsey+m76t5PUjLyrssb6ZxG2fdA1A3Ry1UDsotdQz
Z50xYanVQ8wYBipU3dvSDt5dlyI6SNc9fYYjumyyr17SvV6SuK/u9a67rNjP1zc9
rIhxovumS5KnzR+x5WgwMhIso+ILWyomTFwRuYGAZUxT0g+3+wQXr4MuUWeaFBj/
1JH09OLtA61W1D2LBqPc+QiQe6sqmj02mp0Kv8wV62xbxgaUIeX6ui4hbMWWWPdv
BX8YJWgZqV2RVIXSgY3kR11dKVUHzG1NtXXBgQIDAQABAoIBABjXe67jzHPR1oTC
DlxWTHm8bI4g8a073AsslAcl9Ofneh0f3zyfIhUAVqfFPRTLmTdNx8csHWOuA7xA
Ca91THCDS00VFXIjhGtOfIAVw2/lq4BX8ZAGgpYCSKIzwnnWTVE9zfl+SiZd7yew
KsgdJ5/QCW0lQ8JnkdfqHwQeko7hJo1myxAbUya5jpkav8UagJcxzwyZAVBqEyHh
6SkX4Z6DkaQ0yq+MFV77WsUA6Set3pyWwVT6WUu6xaJrDUcrvlVbKO4dK8RPW+Tz
SKEPUBQ3w+iOev4HjNA9MTAEVG57bcpksmciRpVEmaKXOVWp8E4wknilR0lvZKNh
DGMWnrkCgYEA6IxSmxcWVmaMKnmUibZeQ9LKMCGhlG0DW2Rnf7NTXYCYJGKGKvVE
pzMlMCin5OKQdase/ot8b3Wp32gsd46gIY1KeC3zHphdvUqW7unmVNpqoGdG92RZ
gllOgx6c9rXQW/8ZgO77Xv4+2WT+kyLjd6GTuwQZDDfQArKjqBfaVSUCgYEA5KU7
2lpR2M4v6wlKM5ViF1K7Dx+LAKUlzS3WwEzvuqCAMP1Sd7Dj7AVDSnkJKwIEzoik
5b7+nkyVF26CVd3v7PUHvHEjAJwVr+0PxFshw2Igxe3iW3cZY6J6YvGfr4N5nq+t
/ilvTdlxPD5mJdRiCJG6v3SwRhPF+hXtg7X4gi0CgYEAmJjD+AtdWBLwtUqUww1N
rBndHVpkSh6Czm0DUZPeB4RD0dRpEDVj+IeiRojXK2XUv7Iro4Lqg8VlVDlqvIV1
5K5viI82cwQutvEEPAB2aYXt5BYBRoOuDNAHqhjjjSzfbg7msGmhv8L8gPE58Fk7
hJwdceINgav6LlsE81+7oJUCgYB06qk4dobzvjtyjEWNKw4FryBIE3EY21oBGTd/
DdhoLjpe0qqg2asyvV4zbsDpZRbgJa9sa8X3XGHAoZm0HtDY8lMKYS/s1+OfGjG9
znvtVPg9Pe9JphUthZ/fiH6HWUuPgXYPSVDJFi95Bs9k+L1IdHxx+lFJBENwJlZV
y29P4QKBgAIM5KogHwDK46a2IsSYtFJnBoXXUle5Rw3EU/1VQ7qzeijo4jhMS3iH
qFnp4NFwrnGJiAztuflpjQkErnYxHgWNp90RfzbqE5LpFvMQqys9xLgUAtnrxLug
62UBslnYjcDw1xGuMeBmp6txWBegD/62vC0opQCtu6plasMQVy8W
-----END RSA PRIVATE KEY-----

ls -l ~/ssl/soeasy.icu.key
ps aux | grep -v grep | grep -E 'python|node|java|go'
cat > ~/https_server.py << 'EOF'
import http.server
import ssl
import os

# 切换到网站根目录（可选）
# os.chdir('/path/to/your/html')  # 如果有静态文件目录

# 创建 HTTP 请求处理器
handler = http.server.SimpleHTTPRequestHandler

# 创建 HTTPS 服务器
httpd = http.server.HTTPServer(('0.0.0.0', 443), handler)

# 加载证书和私钥
httpd.socket = ssl.wrap_socket(
    httpd.socket,
    certfile='/home/admin/ssl/soeasy.icu.pem',
    keyfile='/home/admin/ssl/soeasy.icu.key',
    server_side=True
)

print("HTTPS 服务器启动在 https://soeasy.icu")
httpd.serve_forever()
EOF

killall python3
sudo python3 ~/https_server.py
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
ss -tuln | grep -E ':80|:443'
ps aux | grep -v grep | grep -E 'node|python|java|./'
ls -la ~
cat ~/https_server.py
ls -l /home/admin/ssl/soeasy.icu.pem /home/admin/ssl/soeasy.icu.key
sudo tee /etc/systemd/system/https-server.service << 'EOF'
[Unit]
Description=HTTPS Static File Server for soeasy.icu
After=network.target

[Service]
Type=simple
User=admin
WorkingDirectory=/home/admin
ExecStart=/usr/bin/python3 /home/admin/https_server.py
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now https-server.service
sudo systemctl status https-server.service
sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3
realpath /usr/bin/python3
sudo setcap 'cap_net_bind_service=+ep' /usr/libexec/platform-python3.6
sudo systemctl restart https-server.service
sudo systemctl status https-server.service
sudo firewall-cmd --list-ports --permanent 2>/dev/null | grep -q 443 && echo "443 已放行" || echo "需手动放行 443 端口"
sudo firewall-cmd --permanent --add-port=443/tcp
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
#
 添加源并安装
sudo yum install -y yum-plugin-copr
sudo yum copr enable @caddy/caddy -y
sudo yum install caddy -y
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
sudo netstat -tlnp | grep -E ':80|:443|:8080'
head -50 /home/admin/sweaty/server.py
sudo ls -l /proc/645/cwd
ls -la /home/admin/*.py /home/admin/*.conf 2>/dev/null
cat /home/admin/https_server.py
cp -r /home/admin/sweaty/* /home/admin/soeasy/
ls -la /home/admin/
ls -la /home/admin/soeasy/
mv "/home/admin/soeasy/j's" /home/admin/soeasy/js
ss -tulnp | grep -E ':80|:443'
sudo ss -tulnp | grep ':443'
ps -fp 645
curl -k https://localhost/soeasy/
好了嘛
curl -k https://localhost/soeasy/
top -p 645 -n 1
 MAKRER=SHOW_LOCALE;printf $MAKRER""; locale; MAKRER=SHOW_LOCALE;printf $MAKRER"";
 CHECK_TYPE=SHELL; echo "INFO=${CHECK_TYPE} PID=$$ PPID=$PPID TTY=$(tty) SHELL=$0 HOME=$HOME PWD=$PWD| CHECK_SHELL_END"
