OpenSSL

製作證書,停掉docker所佔用的80端口,啟動Ubuntu本身的Nginx。

Nginx通常在etc/nginx 目錄下,配置nginx.conf 或者 /etc/nginx/sites-available/default.

讓certbot 可以訪問到80服務。Nginx配置.well-known/acme-challenge 訪問路徑,並設置allow all權限,certbot可以寫入。

1. Create fullchain.pem and privkey.pem

复制代码
openssl req -new -nodes \
  -newkey rsa:2048 \
  -keyout privkey.pem \
  -out cert.csr \
  -config openssl.cnf

2.. Cerbot apply Let's Encrypt

复制代码
certbot certonly --manual --csr request.csr
或者

certbot certonly --webroot -w /var/www/html -d yourdomain.com
  1. /etc/nginx/sites-available 修改Nginx配置文件

    复制代码
     listen 80;
     listen [::]:80;
    
     server_name erp.vital-base.com;
    
     location /.well-known/acme-challenge/ {
         root /var/www/html;
         allow all;
     }
  2. 創建測試文件

    sudo mkdir -p /var/www/html/.well-known/acme-challenge
    echo hello | sudo tee /var/www/html/.well-known/acme-challenge/test.txt

复制代码
http://erp.vital-base.com/.well-known/acme-challenge/test.txt
  1. 結果

/var/www/html 與Nginx 保持一致

复制代码
certbot certonly --webroot -w /var/www/html -d domain.com
  1. 如果用Docker,需要掛載

    cannot load certificate "/etc/ssl/myerp/fullchain.pem"
    : BIO_new_file() failed (SSL: error:80000002:system
    library::No such file or directory:calling
    fopen(/etc/ssl/myerp/fullchain.pem, r)
    error:10000080:BIO routines::no such file)

    查看目錄下有沒有文件

    ls -l /opt/myspace/wrp/ssl2

    chmod 644 /opt/workspace/worker_myerp/ssl2/*.pem

    或者

    chmod -R 755 /opt/workspace/worker_myerp/ssl2

相关推荐
信创DevOps先锋14 分钟前
Gitee:中国开发者生态的数字化转型基石与创新加速器
运维·gitee·devops
Crazy CodeCrafter31 分钟前
房租年年涨,客流年年少,服装店还要开吗?
大数据·运维·微信·自动化·开源软件
淼淼爱喝水35 分钟前
Ansible 配置与环境搭建超全教程(自动化运维基础)
运维·自动化·ansible
xlp666hub42 分钟前
深度剖析Linux Input子系统(2):驱动开发流程与现代 Multi-touch 协议
linux
AI-Ming42 分钟前
程序员转行学习 AI 大模型: 踩坑记录:服务器内存不够,程序被killed
服务器·人工智能·python·gpt·深度学习·学习·agi
yj_xqj1 小时前
HAproxy负载均衡集群部署
运维·负载均衡
路由侠内网穿透1 小时前
本地部署开源工作空间工具 AFFiNE 并实现外部访问
运维·服务器·数据库·物联网·开源
zzzsde1 小时前
【Linux】Ext文件系统(1)
linux·运维·服务器
爱学习的小囧1 小时前
ESXi 8.0 无法选择分区方式 小白级详细解决办法
运维·服务器·网络·虚拟化·esxi8.0
F1FJJ1 小时前
什么是 Shield CLI?视频讲解:一条命令,可浏览器远程访问一切内部服务(RDP/VNC/SSH/数据库等)
运维·网络·数据库·网络协议·ssh