Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure repo #2

Merged
18 commits merged into from
Mar 12, 2019
Merged

Restructure repo #2

18 commits merged into from
Mar 12, 2019

Conversation

ghost
Copy link

@ghost ghost commented Mar 9, 2019

  • 删除了2018的动态网站
  • 把2018的静态网站丢到了2018文件夹下
  • Duplicate 2018的静态网站 --> 2019(用来更改)
  • 更新了Nginx配置文件
  • 采用Let's Encrypt证书

需要做的事情

  • 维护一个nginx-docker (Assigned to @yrccondor)
  • 一个自动更新 let's encrypt 证书的 docker 容器
  • 使用v3的语法重写docker-compose (@shuye02)

@ghost ghost assigned yrccondor and ghost Mar 9, 2019
@ghost ghost requested review from davidzyc and yrccondor March 9, 2019 15:22
@ghost ghost added the Server-Config Server configuration files (incl. Nginx & docker) label Mar 9, 2019
@ghost
Copy link
Author

ghost commented Mar 9, 2019

啊,我们还需要一个let's encrypt的自动更新容器和脚本

@yrccondor
Copy link
Member

  1. Nginx 容器我可以维护;
  2. 证书更新考虑一下使用 acme.sh?
  3. 这种情况下为每个根域签一张野卡或许更容易维护

@ghost
Copy link
Author

ghost commented Mar 9, 2019

对于1:
太棒了,地址在 @hackinit 的org下面

对于2:
是的打算用acme.sh,不过需要一个docker container(或者和nginx放在同一个下面)

对于3:
wildcard我有点担心安全性,不过也不失为一个更加方便的办法,说回来只要有全自动脚本一切都没有问题(我在自己服务器上用的是 systemd-timer,docker 容器不知道可不可以)

@yrccondor
Copy link
Member

yrccondor commented Mar 9, 2019

库已经看到了,稍后开始维护;默认情况下 acme.sh 会自动往 crontab 里塞一个任务...一定要用 timer 么?另外证书更新这种小需求或许扔在服务器容器里比较合适

@ghost
Copy link
Author

ghost commented Mar 9, 2019

@yrccondor : 一定要用 timer 么?另外证书更新这种小需求或许扔在服务器容器里比较合适

不不不当然不一定,只是我比较习惯 systemd-timer,对于crontab不太了解……所以我第一个想到的是systemd-timer,crontab没有任何问题
服务器容器指的是nginx容器嘛?

@yrccondor
Copy link
Member

服务器容器指的是nginx容器嘛?

对,个人觉得直接扔在 Nginx 容器里好了。不过如果 Nginx 容器需要经常重启的话还是新开一个容器更合适。

@ghost
Copy link
Author

ghost commented Mar 9, 2019

@yrccondor : 如果 Nginx 容器需要经常重启的话还是新开一个容器更合适。

应该不会(在不频繁更改 Nginx config file 的情况下),所以可以放在同一个下面
那你打算用什么样的 let's encrypt 认证方法呢?在 server block 里面加一个 ./well-known/acme-challenge 的 path 嘛?

@yrccondor
Copy link
Member

如果签野卡,Let's 要求必须使用 DNS 认证,也就是不需要 .well-known 了(而且我觉得签发单域名也是 DNS 认证更方便)。acme.sh 支持多种 DNS 服务的 API 来完成自动验证,所以要看目前的 DNS 提供商是什么了

@ghost
Copy link
Author

ghost commented Mar 9, 2019

如果签野卡,Let's 要求必须使用 DNS 认证,也就是不需要 .well-known 了(而且我觉得签发单域名也是 DNS 认证更方便)。acme.sh 支持多种 DNS 服务的 API 来完成自动验证,所以要看目前的 DNS 提供商是什么了

目前用的是 Cloudflare DNS,可以通过API实现(我之前看到过 certbot 有类似的插件)
如果不需要 .well-known 的话那还是单独做一个 docker container 负责 Cloudflare DNS 验证 let's encrypt 好一些吧

@yrccondor
Copy link
Member

好,那就开两个容器好了

@ghost
Copy link
Author

ghost commented Mar 9, 2019

好,那就开两个容器好了

OK,麻烦了
编译的 Nginx Dockerfile 可以放在 @hackinit 的那个repo下
acme.sh 可以在 @hackinit 里面新建一个repo

@ghost ghost mentioned this pull request Mar 9, 2019
3 tasks
Copy link
Collaborator

@Jingcheng-Pan Jingcheng-Pan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well done !

Ye Shu added 8 commits March 12, 2019 09:14
@ghost ghost merged commit 2daddee into master Mar 12, 2019
@ghost ghost removed their assignment Apr 1, 2019
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Server-Config Server configuration files (incl. Nginx & docker)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants