赞
踩
- curl https://get.acme.sh | sh
- alias acme.sh=~/.acme.sh/acme.sh
(1)将域名的解析指向服务器,并且服务器开启80端口的http服务
(2)准备acme需要目录
./nginx/html/.well-known/acme-challenge
方式一:通过指定dns
acme.sh --issue --server letsencrypt --dns dns_dp -d huisiban.com www.huisiban.com --webroot /usr/local/nginx/html
方式二:通过自定webroot,(推荐)
acme.sh --issue --server letsencrypt -d huisiban.com -d www.huisiban.com --webroot /usr/local/nginx/html
执行下面的命令会生成证书文件相关的key和pem,改为你自己的路径和文件名
acme.sh --install-cert -d huisiban.com -d www.huisiban.com --key-file /usr/local/nginx/certs/www.huisiban.com.key --fullchain-file /usr/local/nginx/certs/www.huisiban.com.pem
检查系统是否支持crontab ,通过crontab可以查看当前的证书定时任务,下面是我服务器上的
- [root@VM-16-2-opencloudos ~]# crontab -l
- */5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &'
- 51 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/nul
这条命令acme自身自动更新
acme.sh --upgrade --auto-upgrade
比如我的网站汇思班
- server {
- listen 80;
- server_name huisiban.com www.huisiban.com;
- rewrite ^(.*)$ https://www.huisiban.com$1 permanent;
- }
- server {
- listen 443 ssl;
- server_name huisiban.com www.huisiban.com;
-
- ssl_certificate /usr/local/nginx/certs/www.huisiban.com.pem;
- ssl_certificate_key /usr/local/nginx/certs/www.huisiban.com.key;
-
- ssl_session_cache shared:SSL:1m;
- ssl_session_timeout 5m;
-
- ssl_ciphers HIGH:!aNULL:!MD5;
- ssl_prefer_server_ciphers on;
-
-
- client_max_body_size 20m;
- client_body_buffer_size 128k;
-
- gzip on;
- gzip_buffers 32 4K;
- gzip_comp_level 6;
- gzip_min_length 100;
- gzip_types application/javascript text/css text/xml application/font-woff;
- gzip_disable "MSIE [1-6]\.";
-
- if ( $host = 'huisiban.com') {
- rewrite ^/(.*)$ https://www.huisiban.com/$1 permanent;
- }
- location ^~ /.well-known/acme-challenge/ {
- default_type "text/plain";
- root /usr/local/nginx/html;
- }
- location ~ ^/upload/(.*)\.(png|jpg|jpeg|gif)$ {
- root /opt/img;
- expires 5d;
- set $img_width -;
- set $img_height -;
- # 获取参数size的值
- if ($arg_size ~* "^(\d+)x(\d+)$") {
- set $img_width $1;
- set $img_height $2;
- }
- # 裁剪图片并且调整大小
- image_filter resize $img_width $img_height;
-
- image_filter_jpeg_quality 25;
- image_filter_buffer 10M;
- }
- location ~ ^/upload/(.*)\.(ico|webp)$ {
- root /opt/img;
- }
- location /fastcms.html {
- alias /usr/local/nginx/html;
- # 此处的 @router 实际上是引用下面的转发,否则在 Vue 路由刷新时可能会抛出 404
- try_files $uri $uri/ @router;
- # 请求指向的首页
- index index.html index.htm;
- }
- location /fastcms {
- alias /usr/local/nginx/html;
- }
- location /fastcms/api {
- proxy_pass http://127.0.0.1:8085;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- }
- location / {
- proxy_pass http://127.0.0.1:8085;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
-
- }
-
- # 由于路由的资源不一定是真实的路径,无法找到具体文件
- # 所以需要将请求重写到 index.html 中,然后交给真正的 Vue 路由处理请求资源
- location @router {
- rewrite ^.*$ /index.html last;
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。