myblog-terminal.pages.dev Open in urlscan Pro
188.114.96.3  Public Scan

URL: https://myblog-terminal.pages.dev/
Submission: On October 21 via api from US — Scanned from NL

Form analysis 0 forms found in the DOM

Text Content

Terminimal theme
 * blog
 * tags
 * archive
 * about me
 * github




从零开始自动申请LET'S ENCRYPT证书(三个月有效,自动续期)

2024-09-21


安装NGINX


安装软件包

为什么要安装nginx?一开始我看教程不懂,以为只是要测试证书是否成功,所以需要一个web服务器。

其实,nginx在这里的用途是,配置证书。如果不进入nginx配置,证书是无法生效的。

基于CentOs系统,安装:

sudo yum install epel-release
sudo yum install nginx


Nginx不包含在默认的仓库中,所以你需要添加EPEL仓库。


启动NGINX

sudo systemctl start nginx



开机启动NGINX

sudo systemctl enable nginx



查看NGINX状态

sudo systemctl status nginx



查看NGINX配置文件

sudo nginx -t


通常在/etc/nginx/nginx.conf中。


配置域名和SERVER


解析域名-添加一个A记录

指向你的服务器IP地址。


查看是否成功

ping yourdomain.com


出现你的服务器IP地址,说明解析成功。


架设一个简单的WEB服务

sudo vim /etc/nginx/nginx.conf


看看root的路径,一般是/usr/share/nginx/html。

在root设置下方,输入 index index.html. 同时,server_name设置为你的域名。

server {
    listen       80;
    server_name  yourdomain.com;
    root         /usr/share/nginx/html;
    index        index.html;
}


:wq退出,输入:

echo 'Hello, World!' | sudo tee /usr/share/nginx/html/index.html



重启NGINX

sudo systemctl restart nginx


现在,访问你的域名,应该可以看到Hello, World!。 实测,chrome可能不会正常显示,可以试试firefox。我最后是用curl命令测试的:

curl yourdomain.com


如果出现Hello, World!,说明你的web服务已经架设成功。


配置SSL证书


安装ACME

curl https://get.acme.sh | sh -s email=my@example.com


这里的email是你的邮箱地址。


给ACME.SH设置别名

sudo vim ~/.bashrc


加上:

alias acme.sh='/root/.acme.sh/acme.sh'


然后:

source ~/.bashrc


这样,就可以直接用acme.sh命令了。


切换服务器到LETSENCRYPT

acme.sh  --set-default-ca --server letsencrypt


acme.sh默认的是ZeroSSL,但是ZeroSSL不大稳定,所以我们切换到letsencrypt。

当然,你也可以不切换,直接用ZeroSSL。但你可以看看网上对ZeroSSL延时的不满。


注册账号

acme.sh --register-account -m my@example.com


实测下来,国内服务器时间可能会花得比较久,可以试一下这个方法:

sudo vim ~/.acme.sh/account.conf


将邮箱填入即可。


设置ACCESS KEY

由于我们接下来需要DNS验证,所以需要获取access key。由于我是阿里云解析的,就说阿里云的步骤:


登录阿里云网站

https://ram.console.aliyun.com/manage/ak

生成一个 key 和 secret


设置环境变量

export Ali_Key="yourkey"
export Ali_Secret="yoursecret"



生成证书

acme.sh --issue --dns dns_ali -d linxz.online -d *.linxz.online


成功后,会提示你证书的位置。通常在/root/.acme.sh/yourdomain.com。
有用的是两个文件:fullchain.cer和yourdomain.com.key。


配置证书


完成NGINX-443端口配置

打开nginx配置文件:

sudo vim /etc/nginx/nginx.conf


完成443端口的配置:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    
    server_name linxz.online;
    ssl_certificate /home/lighthouse/.acme.sh/linxz.online_ecc/fullchain.cer;
    ssl_certificate_key /home/lighthouse/.acme.sh/linxz.online_ecc/linxz.online.key;
    client_max_body_size 100m;

    location / {
        root  /usr/share/nginx/html;
        index index.html;
    }
}



重启NGINX

sudo systemctl restart nginx



测试

再次通过curl命令测试:

curl https://linxz.online


如果出现Hello, World!,说明你的证书配置成功。


安装证书自动更新

acme.sh --installcert -d linxz.online --key-file /home/lighthouse/.acme.sh/linxz.online_ecc/linxz.online.key --fullchain-file /home/lighthouse/.acme.sh/linxz.online_ecc/fullchain.cer --reloadcmd "sudo systemctl reload nginx"



自动更新


查看定时任务

crontab -l


你可以看到以下命令:

45 12 * * * "/home/lighthouse/.acme.sh"/acme.sh --cron --home "/home/lighthouse/.acme.sh" > /dev/null


这个命令的意思是,每天12:45,自动更新证书。


自动更新ACME.SH

acme.sh --upgrade --auto-upgrade


这样,acme.sh就会自动更新了。


参考

 1. 古时的风筝-用这个方法,免费、无限期使用 SSL(HTTPS)证书,从此实现证书自由了


如何用VUE的UI库-ELEMENT-PLUS里面的ICON?

2024-09-21


安装ICONS-VUE

npm install @element-plus/icons-vue



在MAIN.TS中引入

import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const app = createApp(App)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}
app.mount('#app')



使用示例

<el-button circle @click="toggleSidebar">
  <el-icon>
    <Close />
  </el-icon>
</el-button>



ICON图标集锦及使用方法

https://element-plus.org/zh-CN/component/icon.html#%E6%B3%A8%E5%86%8C%E6%89%80%E6%9C%89%E5%9B%BE%E6%A0%87

Older posts  →
© 2024 Powered by Zola :: Theme: Terminimal by pawroman