我想将HTTPS添加到我的本地域,但是我们无法在localhost上执行此操作。
当我使用这个Caddyfile
运行时,我的网站运行正常localhost:2020 {
bind {$ADDRESS}
proxy / http://192.168.100.82:9000 {
transparent
}
}
但我想说出这个网站的名称,或者至少在其上启用HTTPS。根据Caddy的说法,你不能在localhost上这样做,但如果我有域名怎么办?
我尝试使用我自己的本地地址和这个Caddyfile
192.168.100.26 {
bind {$ADDRESS}
proxy / http://192.168.100.82:9000 {
transparent
}
}
一切正常但我仍然没有HTTPS ......
当我尝试添加一个随机域名时,例如
www.mycaddytest.com {
bind {$ADDRESS}
proxy / http://192.168.100.82:9000 {
transparent
}
}
我收到以下错误
Activating privacy features...2016/08/18 11:53:26 [www.mycaddytest.com] failed to get certificate: acme: Error 400 - urn:acme:error:connection - DNS problem: NXDOMAIN looking up A for www.mycaddytest.com
Error Detail:
Validation for www.mycaddytest.com:80
Resolved to:
Used:
我知道这个错误是由于一个不存在的域名,但有没有办法处理?
只需在localhost或ip地址上获取HTTPS就足够了
答案 0 :(得分:11)
从Caddy 0.9开始,我们可以使用tls self_signed属性。
使用此Caddy文件
localhost:2020 {
bind {$ADDRESS}
proxy / 192.168.100.82:9000
tls self_signed
}
答案 1 :(得分:1)
我知道答案已被接受。但我对 Caddy v0.10.14 也有同样的问题,这是一个帮助我的解决方案(但使用真正的SSL证书而不是self_signed):
首先,证书&密钥对必须位于以下目录中:var user = User.Claims.First(claim => claim.Type=="Name").Value();
表示证书,/etc/pki/tls/certs/
表示密钥。因此,使用/etc/pki/tls/private/
命令
然后,使用单个命令为HTTP2.0测试创建我们自己的自签名证书。只需在命令行上执行即可生成SSL证书+密钥对:
cd
接下来,使用此Caddy文件并尝试https://localhost:2020:
openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -keyout cert.key -out cert.crt