caddy -version)?0.10.3, trying to update to 0.10.4
Download caddy
N/A
N/A
N/A
Caddy to download
Resolving caddyserver.com (caddyserver.com)... 138.68.240.78, 2604:a880:2:d0::1145:e001
Connecting to caddyserver.com (caddyserver.com)|138.68.240.78|:443... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2017-06-29 14:49:27 ERROR 500: Internal Server Error.
wget 'https://caddyserver.com/download/linux/amd64?plugins=dns,http.authz,http.awslambda,http.cgi,http.cors,http.datadog,http.expires,http.filemanager,http.filter,http.git,http.grpc,http.hugo,http.ipfilter,http.jwt,http.login,http.mailout,http.minify,http.prometheus,http.proxyprotocol,http.ratelimit,http.realip,http.reauth,http.upload,tls.dns.cloudflare'
This seems to be a repeat of #1712, but i can remove all but http.authz and the issue continues.
Thanks!
If one plugin fails to build, the build will fail -- and there are known issues with a couple plugins right now and the authors are working on them. (Do you really use all those? Wow! If not, download only the plugins you need. This is good practice in general.)
i was downloading with a far smaller set of plugins (read: not all of them) and was also seeing the 500 errors, but wanted to try out a few things, so tried downloading all at the same time to avoid excessive timeouts over time, but alas, no dice.
I have been using this script (janky python) in the past to download builds, but even that small set is failing:
#!/usr/bin/env python
import urllib
import tarfile
import os
configuration = {
'architecture': 'amd64',
'os': 'linux',
'http_plugins': [
'cors',
'expires',
'filemanager',
'filter',
'git',
'ipfilter',
'mailout',
'minify',
'ratelimit',
'realip',
'prometheus',
],
'dns_plugins': [
'cloudflare',
]
}
plugins = ['%s%s' % ('http.', plugin) for plugin in configuration['http_plugins']]
plugins += ['%s%s' % ('tls.dns.', plugin) for plugin in configuration['dns_plugins']]
url = 'https://caddyserver.com/download/%s/%s?plugins=%s' % (
configuration['os'],
configuration['architecture'],
','.join(plugins)
)
urllib.urlretrieve(url, '/tmp/caddy_latest.tar.gz')
tar = tarfile.open('/tmp/caddy_latest.tar.gz')
tar.extract('caddy', '/tmp')
os.system('mv /usr/local/bin/caddy /tmp/caddy-previous')
os.system('cp /tmp/caddy /usr/local/bin/caddy')
os.system('chown www-data.www-data /usr/local/bin/caddy')
os.system('chmod +x /usr/local/bin/caddy')
os.system('setcap cap_net_bind_service=+ep /usr/local/bin/caddy')
One of the plugins that's currently being fixed by the author is the filemanager plugin. Sorry the error messages aren't more helpful; it would involve parsing log output which varies depending on where the error occurred...
Anyway, don't mind me -- I'll close this issue though since it's not an actionable item for Caddy itself. And it's being worked on by the right people. :+1:
@mholt is there anything secret in the build logs? I'm thinking you could return the build logs, or at least the part near the error. Probably not really needed to parse it, it would at least give people who run into errors something to go on as to which plugin is failing.
@francislavoie Possibly. I dunno. I haven't guaranteed that there won't be, so to be conservative I'm not revealing build logs to the public. Maybe in the future.
@tnwhitwell The broken plugins should be working again, except for hook.service which should be working as soon as the author deploys it.