Nota Este tutorial está operando em centos 7, semelhante a outros sistemas Linux. Referência 1 Referência 2 operação de renovação devido
1) pela acme.sh
obtenção de um certificado maneiras, parede rachada recomendar este método
2) um método de aumentar um certificado pode ser obtido por espelhamento janela de encaixe
Primeiro, a acme.sh
maneira
1. obteracme.sh
curl https://get.acme.sh | sh
instalação bem-sucedida mostrado abaixo
Nota: Eu estou tendo problemas em centos 7 após a execução da instalação acme.sh
, não encontrou o prompt de comando, se você encontrar o mesmo problema comigo, por favor, desligue o terminal antes do desembarque, ou execute o seguinte comando:
source ~/.bashrc
2. Iniciar para obter um certificado
acme.sh
O poder de que podem DNS automaticamente configure, não vá nos bastidores para resolver o registro de nome de domínio, o meu nome de domínio está registrado em Ali, exemplos de resolução de Ali nuvem dada a seguir, consulte o resto de alterar a sua própria aqui o registrado: Portal
Por favor, vá para obter fundo da nuvem Ali App_Key
com App_Secret
o portal , e em seguida, execute o seguinte script
# 替换成从阿里云后台获取的密钥
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
# 换成自己的域名
acme.sh --issue --dns dns_ali -d zhuziyu.cn -d *.zhuziyu.cn
Este é por meio da rosca para dormir à espera 120 segundos DNS entrem em vigor, é necessário esperar pelo menos dois minutos
Nesta etapa você está feito, Sahua
certificado gerado no diretório: ~/acme.sh/domain/
O seguinte é um exemplo de aplicação do certificado Nginx:
# domain自行替换成自己的域名
server {
server_name xx.domain.com;
listen 443 http2 ssl;
ssl_certificate /path/.acme.sh/domain/fullchain.cer;
ssl_certificate_key /path/.acme.sh/domain/domain.key;
ssl_trusted_certificate /path/.acme.sh/domain/ca.cer;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:10086;
}
}
acme.sh
Que o certbot
caminho de mais automatizado, eliminando a necessidade de manualmente domínio mudança registros DNS passo para trás, e não dependem de Python, recomendação parede rachadura
Após o primeiro sucesso, acme.sh
ele irá gravar App_Key com App_Secret, e gera uma tarefa programada, 0:00 da manhã todos os dias detectar automaticamente e renovar nomes de domínio expirados automaticamente. Há preocupações com esta abordagem, por favor, tenha cuidado, mas você também pode excluir as tarefas agendadas por conta própria em nível de usuário, e limpar pasta ~ / .acme.sh na linha
Dois, aquisição de imagem docker
Se você tem ambiente de janela de encaixe, ele também pode ser usado para obter um espelho certificado janela de encaixe, uma linha de comando para
docker run --rm -it \
-v "$(pwd)/out":/acme.sh \
-e Ali_Key="xxxxxx" \
-e Ali_Secret="xxxx" \
neilpang/acme.sh --issue --dns dns_ali -d domain.cn -d *.domain.cn
Após bem-sucedido, o certificado vai salvar a arquivos na pasta diretório atual, você também pode especificar o caminho, modifique a primeira linha acima "$(pwd)/out"
, você pode alterar o caminho que você deseja salvar.
detalhada de uso pode se referir a: Portal
Desça obter um certificado com exatamente da mesma maneira, uma maneira de se referir a outras informações.
Em terceiro lugar, a certbot
maneira de obter um certificado[不推荐] (本人使用可行)
1. obtercertbot-auto
# 下载
wget https://dl.eff.org/certbot-auto
# 设为可执行权限
chmod a+x certbot-auto
2. Comece o pedido de certificado
# 注xxx.com请根据自己的域名自行更改
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly
Não mais do que um único domínio, se a pluralidade de endereço
# 注xxx.com请根据自己的域名自行更改
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly
Após a conclusão desta etapa, ele irá baixar as dependências necessárias, em seguida, aguarde um momento, será solicitado a inserir a caixa de correio, basta entrar na caixa de correio vai fazer [para] alertas de segurança, e lembretes de renovação
Note-se que o certificado curinga para solicitar a certificação por meio do DNS, siga as instruções, volte para adicionar o nome de domínio registro DNS TXT correspondente. Após a adição, não se apresse a pressionar Enter, a primeira implementação dig xxxx.xxx.com txt
para confirmar se os registros de resolução em vigor, após a entrada em vigor e, em seguida, pressione Enter para confirmar volta
Nesta etapa depois que você fez! ! ! Certificado armazenado no interior do /etc/letsencrypt/live/xxx.com/
Para renová-lo, executá certbot-auto renew
-la
* .Xxxxx.cn xxxxx.cn primário domínio e é necessário registos de resolução de duas vezes na txt DNS dentro adicionando gravação dois valor diferente
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" -d "xxx.com" --manual --preferred-challenges dns-01 certonly
O que se segue é um exemplo da aplicação de um certificado nginx
server {
server_name xxx.com;
listen 443 http2 ssl;
ssl on;
ssl_certificate /etc/cert/xxx.cn/fullchain.pem;
ssl_certificate_key /etc/cert/xxx.cn/privkey.pem;
ssl_trusted_certificate /etc/cert/xxx.cn/chain.pem;
location / {
proxy_pass http://127.0.0.1:6666;
}
}