使用ACME申请泛域名SSL证书

安装acme.sh curl https://get.acme.sh | sh -s email=my@example.com 创建 一个 bash 的 alias方便你使用 alias acme.sh=~/.acme.sh/acme.sh 注册(可选) acme.sh --register-account -m my@example.com 使用DNS API方式申请 不需要TCP 80端口 不需要WEB服务器 不需要公网IP 导入DNS API: 签发泛域名证书是最好的方式了,申请一个证书任意二级域名都可以使用,非常方便。 根据你的域名服务商提供的DNS API,并导入DNS API,各域名服务商的DNS API请参考官方说明:https://github.com/Neilpang/acme.sh/tree/master/dnsapi 这里以CloudFlare为例,在CloudFlare的控制台里找到自己的DNS API,然后使用以下命令导入到acme.sh中: export CF_Token="yp1dgAKdzglvUUuOBlXqDML2U886eQwiZ******" export CF_Zone_ID="e554bfdafd90d1671303d543c*******" 这个DNS API信息会保存在“~/.acme.sh/account.conf”文件中。 2、申请泛域名证书: 导入域名商的DNS API之后就可以使用以下命令,自动解析DNS(通过api给你的域名添加一条txt解析记录),验证通过后就会下发证书: acme.sh --issue --dns dns_cf -d example.com -d *.example.com 【可选】默认证书提供商是ZeroSSL ECC,可以添加--server letsencrypt更换为letsencrypt,或者 acme.sh --set-default-ca --server letsencrypt 证书申请成功后,默认保存在“~/.acme.sh/example.com_ecc”目录下。注意:“dns_cf”表示使用CloudFlare的DNS API,域名商不同的话此处会不同,请参考上述文档。 默认生成的证书都放在安装目录下: ~/.acme.sh/中的/root/.acme.sh/example.com_ecc/example.com.cer和/root/.acme.sh/example.com_ecc/example.com.key但是不要在web服务器中直接引用目录下的证书文件,也不要手动来拷贝证书文件到具体的web服务器中,手动拷贝会导致之后更新证书流程不能完全自动。 正确方式是使用acme.sh的安装证书命令,acme.sh自动拷贝证书文件到具体目录中,拷贝命令会被记录下来,之后自动更新证书流程也会执行此拷贝步骤,从而实现更新证书流程的完全自动化。 创建目录 mkdir /etc/nginx/ssl acme.sh的安装证书命令 acme.sh --install-cert -d example.com \ --key-file /etc/nginx/ssl/example.com.key \ --fullchain-file /etc/nginx/ssl/example.com.cer \ --reloadcmd "service nginx force-reload" 配置nginx ...

一月 12, 2024 · admin

用nginx搭建webdav文件服务器

安装nginx-full版本 apt install nginx-full 创建一个WebDAV根目录,并授予写入权限。例如,您可以使用以下命令创建并授予权限,/var/www/example.com替换成自己的实际目录路径 mkdir /var/www/example.com chown www-data:www-data /var/www/example.com 增加nginx的认证,这里用的是用户名密码,user就是你要登陆的用户名,/etc/nginx/.htpasswd换成你自己的文件存放路径 sh -c "echo -n 'user:' >> /etc/nginx/.htpasswd" sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd" 编辑修改nginx配置文件,在server中增加 # webdav配置 # 认证方式 auth_basic "Restricted Content"; # 存放认证用户名、密码文件(确认有对应权限) auth_basic_user_file /etc/nginx/.htpasswd; # dav allowed method dav_methods PUT DELETE MKCOL COPY MOVE; # Allow current scope perform specified DAV method dav_ext_methods PROPFIND OPTIONS; # In this folder, newly created folder or file is to have specified permission. If none is given, default is user:rw. If all or group permission is specified, user could be skipped dav_access user:rw group:rw all:r; # Temporary folder client_body_temp_path /tmp/webdav; # MAX size of uploaded file, 0 mean unlimited client_max_body_size 0; # Allow autocreate folder here if necessary create_full_put_path on; 完整示范 ...

十月 4, 2023 · admin

纯净Linux系统手工配置独角数卡发卡站点环境

纯净系统纯手工打造独角数卡发卡站点环境,抛弃各种面板、一键网站环境。 https://github.com/assimon/dujiaoka 支付接口已集成 支付宝当面付 支付宝PC支付 支付宝手机支付 payjs微信扫码. Paysapi(支付宝/微信). 码支付(QQ/支付宝/微信) 微信企业扫码支付 Paypal支付(默认美元) 麻瓜宝数字货币支付 全网易支付支持(针对彩虹版) 基本环境要求 (PHP + PHPCLI) version >= 7.2 Nginx version >= 1.16 MYSQL version >= 5.6 Redis (高性能缓存服务) Supervisor (一个python编写的进程管理服务) Composer (PHP包管理器) Linux/Win (Win下未测试,建议直接Linux) 实测Supervisor不装也是可以运行的 PHP环境要求 星号(*)为必须执行的要求,其他为建议内容 *安装fileinfo扩展 *安装redis扩展 *终端需支持php-cli,测试php -v(版本必须一致) *需要开启的函数:putenv,proc_open,pcntl_signal,pcntl_alarm 安装opcache扩展 网络上各类发卡网站程序,比如ZFAKA、独角数卡环境搭建教程都是基于宝塔面板、LNMP等等环境搭建的教程。 ZFAKA可以在宝塔面板后台一键部署安装,也可以使用Docker版 为什么要手工搭建发卡网站环境 怕有后门(被害妄想症) 近期某某面板强迫用户注册才能使用 享受折腾的乐趣 测试使用环境Debian 10,其它系统可以参考修改搭建。 独角数卡发卡站环境搭建 Nginx、MYSQL的搭建具体教程请点击查看,这里重点只讲独角数卡发卡站环境搭建PHP环境的配置 PHP和一些必要组件的安装 apt -y install php-fpm php-mysql php-redis php-fileinfo php-cli php-gd redis-server php-mbstring php-bcmath php-curl php-xml php-dom 配置PHP组件 配置PHP的redis缓存组件 ...

九月 22, 2020 · admin

Debian10手动搭建WEB环境Nginx,SSL,PHP,MySQL

手动搭建,使用apt,apt-get快速安装免编译 安装nginx和php apt update apt install openssl nginx-full php-fpm php-mysql -y 创建站点,新建文件 nano example.com.sh 内容如下 #!/bin/bash # 创建站点目录和默认页面 mkdir /var/www/example.com chown -R www-data:www-data /var/www/example.com echo "hello word" > /var/www/example.com/index.html # 添加nginx配置文件 echo "server { listen 80; listen [::]:80; server_name example.com; root /var/www/example.com; index index.html; # return 301 https://$server_name$request_uri; } >> /etc/nginx/sites-available/default 把example.com替换成自己的域名 sed -i 's/example.com/自己的域名/' example.com.sh 给予权限并执行 chmod +x example.com.sh bash example.com.sh systemctl restart nginx Certbot申请Let’s Encrypt证书SSL,安装Certbot ...

九月 10, 2020 · admin

Debian9安装最新版Nginx

apt-get默认安装的nginx为1.10,如果嫌太老了可以修改安装源的方式来获得更新的版本; 一、添加Nginx源 新建一个nginx.list文件 vi /etc/apt/sources.list.d/nginx.list 加入以下内容: deb http://nginx.org/packages/mainline/debian/ stretch nginx deb-src http://nginx.org/packages/mainline/debian/ stretch nginx 下面这个我也不晓得干什么的,反正老外是这样写的 wget -qO - http://nginx.org/keys/nginx_signing.key | apt-key add - 更新一下让源生效 apt update 二、安装更新版本nginx 如果之前用apt命令安装了旧版本nginx,需要卸载掉才行 apt remove nginx-common 正式开始安装 apt install nginx 安装完成查看版本: nginx -v 会列出Nginx OpenSSL相关配置文件路径… 查看nginx进程 ps aux | grep nginx pgrep nginx 安装好的文件位置: /usr/sbin/nginx #主程序 /etc/nginx #存放配置文件 /usr/share/nginx #存放静态文件 /var/log/nginx #存放日志 /etc/nginx/nginx.conf #默认nginx配置文件 Nginx控制命令: ###启动 systemctl enable nginx ###重启 systemctl restart nginx ###停止 systemctl stop nginx ###也可以使用 /etc/init.d/nginx start # 启动Nginx服务 /etc/init.d/nginx stop # 停止Nginx服务 /etc/init.d/nginx restart # 重启Nginx服务 增加 Nginx 虚拟主机 检查/etc/nginx/nginx.conf配置文件,确保文件中有:include /etc/nginx/conf.d/*.conf; 默认已经有了的。 ...

十一月 21, 2018 · admin

Nginx使用官方工具Certbot配置申请Let’s Encrypt安全SSL证书详细教程

获取Certbot客户端 apt update apt install openssl nginx certbot -y systemctl enable nginx systemctl start nginx 获取SSL证书 certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com 这个命令会为example.com和www.example.com这两个域名生成一个证书,使用--webroot模式会在/var/www/example站点根目录中创建.well-known文件夹,这个文件夹里面包含了一些验证文件,certbot会通过访问example.com/.well-known/acme-challenge来验证你的域名是否绑定的这个服务器。 SSL证书保存路径 /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem 自动更新SSL证书 Let’s Encrypt提供的证书只有90天的有效期,certbot运行 certbot renew 自动检查系统内的证书,并且自动更新这些证书。 我们也可以运行certbot renew --dry-run测试一下 或添加一个cron计划19 4 * * 3 root certbot renew意为每周三的00:19执行定时更新SSL证书计划 获取 Certbot 客户端 wget https://dl.eff.org/certbot-auto chmod a+x ./certbot-auto ./certbot-auto --help 配置 nginx 、验证域名所有权 在虚拟主机配置文件( /etc/nginx/conf.d/xxx.com.conf )中添加如下内容,这一步是为了通过 Let’s Encrypt 的验证,验证 linuxstory.org 这个域名是属于我的管理之下。(具体解释可见下一章“一些补充说明”的“ certbot 的两种工作方式”) location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /home/wwwroot/xxx.com/; } location = /.well-known/acme-challenge/ { return 404; } /home/wwwroot/xxx.com/是站点根目录路径 xxx.com替换成自己的域名 ...

十一月 21, 2018 · admin

利用Caddy,Nginx反向代理谷歌YouTube等网站

Caddy - The HTTP/2 Web Server with Automatic HTTPS go语言一个二进制单文件就是服务端 自动申请Let’s Encrypt免费的SSL/TLS证书,自动续期。 Caddy一键安装脚本 wget -N --no-check-certificate https://raw.githubusercontent.com/ojbk8/ToyoDAdoubiBackup/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh caddy_conf_file="/usr/local/caddy/Caddyfile" 日志文件:cat /tmp/caddy.log 使用说明:service caddy start | stop | restart | status 或者使用:/etc/init.d/caddy start | stop | restart | status ...

五月 21, 2018 · admin