使用Apache的getssl进行https服务器的构建
使用Apache的getssl工具来构建https服务器。
这篇笔记是关于如何使用Apache和getssl搭建使用Let’s Encrypt的https服务器的个人备忘录。
获取getssl的配置
获取getssl
请从下方获取脚本。
根据维基百科的解释,使用curl。
$ curl --silent https://raw.githubusercontent.com/srvrco/getssl/master/getssl > getssl
取得后,可以通过以下方式赋予执行权限。
$ chmod 700 getssl
创建配置文件
可以使用getssl的-c选项来创建配置文件的模板。
$ ./getssl -c yourdomain.com
你可以在”yourdomain.com”的地方填上你想要使用的域名。
你可以使用”getssl -h”或者”–help”来查看帮助信息。
添加自己的设置。
根据需要,在创建的配置文件($HOME/.getssl/yourdomain.com/getssl.cfg)中添加设置。即使没有配置,也会有一些默认设置,但是需要根据环境更改ACL和ACCOUNT_EMAIL等设置(似乎可以不设置ACCOUNT_EMAIL而正常运行)。
ACL=('/var/local/web/.well-known/acme-challenge')
ACCOUNT_EMAIL="me@example.com"
取得或更新SSL证书
当设置完成后,按照以下方式执行。
$ ./getssl yourdomain.com
如果能够正常执行,将在“$HOME/.getssl/yourdomain.com/”目录下获取服务器证书、CA证书、私钥等。
使用上述命令可以获取和更新SSL证书。
(建议根据需要指定选项,如-q等)。
Apache配置
Apache在默认情况下没有包含SSL模块,所以需要添加该模块。
另外,由于没有使用SSL的配置文件,因此需要添加相应的导入配置。
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
设定文件目录、服务器名称等个人设置,还需设定使用getssl获取的服务器证书、中间证书、域名私钥等。
<VirtualHost _default_:443>
DocumentRoot "/var/local/web"
ServerName yourdomain.com:443
ServerAdmin you@yourdomain.com
SSLCertificateFile "/root/.getssl/yourdomain.com/yourdomain.com.crt"
SSLCertificateKeyFile "/root/.getssl/yourdomain.com/yourdomain.com.key"
SSLCertificateChainFile "/root/.getssl/yourdomain.com/chain.crt"
</VirtualHost>
未记录的参数保持默认状态。
请看这里
请参考这个
这是个参考
这个可以作为参考
鉴于这一点
https://github.com/srvrco/getssl/wiki