I have been running Caddy for a while now, and I’m currently running 0.10.2 version. I am serving a number of sites, local flat files, php, proxied - and all except one are working perfectly.
The exception is running the Grav CMS. This is almost perfect as well (leaving aside that the site contents are in an early stage of development). It works everywhere except on iOS when using https. It’s fine on Windows or Android, using any browser, It’s fine on iOS if I am only serving http without any automatic https. But if I am serving https it fails - but only on iOS, with any browser.
In this case it simply hangs, and eventually iOS says the server stopped responding. If I look at the Caddy log, it just show the initial request, and no other - but this request is repeating. If I try to trace the packets, I see a request from iOS, then a response from Caddy, then a little later a repeat of the same. I can’t read the packets because - well, https, right?
I am at a loss what to try next. Any suggestions?
Thanks,
Paul
Here’s my caddyfile.conf (the site concerned is tetrahedral.audio):
####################################################################################
####################################################################################
cassland.org,
www.cassland.org {
root ..\cassland.org\html
browse /Album
browse /images
browse /sounds
browse /Varicam
# "startup" seems to hang on Windows, so I made php-cgi a service instead.
fastcgi / 127.0.0.1:9123 php
# proxy random image generators to Apache which knows what to do with them:
proxy /images/QCavi.jpg localhost:81 {
transparent
}
proxy /images/PJavi.jpg localhost:81 {
transparent
}
proxy /images/FireDog.jpg localhost:81 {
transparent
}
# password for Cherwell Singers pages:
basicauth /CherwellSingers cherwell xxxxxxxxxxxxx
log .\Logs\CLaccess.log
errors .\Logs\CLerror.log {
404 404.html
# 404 New404.html
}
}
####################################################################################
michaelgerzonphotos.org.uk,
www.michaelgerzonphotos.org.uk {
root ..\michaelgerzonphotos.org.uk\html
log .\Logs\MGaccess.log
errors .\Logs\MGerror.log
}
####################################################################################
# Viv's Pots sites:
viviensieber.eu,
www.viviensieber.eu {
redir 302 {
if {path} is /
/ /vivspots
}
redir /vivspots https://vivien158.wixsite.com/vivspots
root ..\emptysite
log .\Logs\VSaccess.log
errors .\Logs\VSerror.log {
404 New404.html
}
}
####################################################################################
# A new Serious Discussion site for EGF refugees:
seriousdiscussion.cassland.org {
root ..\SeriousDiscussion
fastcgi / 127.0.0.1:9123 php
log .\Logs\SDaccess.log
errors .\Logs\SDerror.log
}
####################################################################################
# SMF and phpBB test sites:
qc-test-forum.cassland.org {
root ..\SMF-v2.0
fastcgi / 127.0.0.1:9123 php
log .\Logs\QCaccess.log
errors .\Logs\QCerror.log
}
# testing proxying phpBB (for certificate at EGF):
eg-test-forum.cassland.org {
proxy / http://eg-test-forum.cassland.org:88
log .\Logs\PTaccess.log
errors .\Logs\PTerror.log
}
http://eg-test-forum.cassland.org:88 {
root ..\EvaTest
fastcgi / 127.0.0.1:9123 php
log .\Logs\EGaccess.log
errors .\Logs\EGerror.log
}
####################################################################################
# Proxied sites (simple):
# (because these sites are polled continuously, the access logs are disabled)
mail.cassland.org {
proxy / http://mail.cassland.org:8800 {
transparent
}
# log .\Logs\WMaccess.log
errors .\Logs\WMerror.log
}
deluge.cassland.org {
proxy / localhost:6967 {
transparent
}
# log .\Logs\DLaccess.log
errors .\Logs\DLerror.log
}
emby.cassland.org {
proxy / http://emby.cass.dom:8096
log .\Logs\EMaccess.log
errors .\Logs\EMerror.log
}
owncloud.cassland.org {
proxy / http://owncloud.cass.dom {
transparent
}
log .\Logs\OCaccess.log
errors .\Logs\OCerror.log
}
####################################################################################
# Magnolia authoring is proxied directly to TomCat:
magnolia.cassland.org {
rewrite / /magnoliaAuthor
proxy / localhost:8080 {
transparent
}
log .\Logs\M3access.log
errors .\Logs\M3error.log
}
####################################################################################
# Magnolia sites are proxied via Apache which does the complicated proxy stuff:
www.ambisonic.info,
ambisonic.info {
proxy / localhost:82 {
transparent
}
log .\Logs\AIaccess.log
errors .\Logs\AIerror.log
}
www.studio.cassland.org,
studio.cassland.org {
proxy / localhost:83 {
transparent
}
log .\Logs\SSaccess.log
errors .\Logs\SSerror.log
}
www.house.cassland.org,
house.cassland.org {
proxy / localhost:84 {
transparent
}
log .\Logs\CHaccess.log
errors .\Logs\CHerror.log
}
####################################################################################
# Test versions of TA website:
hugo.cassland.org {
# root ..\Hugo\public
root ..\Hugo
basicauth /admin pwhodges xxxxxxxxxxxx
# hugo .\ ..\Hugo\admin
hugo
log .\Logs\TAaccess.log
errors .\Logs\TAerror.log {
# 404 404.html
404 New404.html
}
}
respond.cassland.org {
root ..\Respond\app\public
# rewrite all for files and directories that do not exist to index.php;
# also add .html for friendly URL handling:
rewrite {
to {path} {path}/ {path}.html /index.php
}
fastcgi / 127.0.0.1:9123 php
log .\Logs\TAaccess.log
errors .\Logs\TAerror.log {
# 404 404.html
404 New404.html
}
}
grav.cassland.org:80,
tetrahedral.audio,
www.tetrahedral.audio {
root ..\tetrahedral-audio
fastcgi / 127.0.0.1:9123 php
gzip
# Begin - Security (provided by grav installation)
# deny all direct access for these folders
rewrite {
r /(.git|cache|bin|logs|backups|tests)/.*$
to /403
}
# deny running scripts inside core system folders
rewrite {
r /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$
to /403
}
# deny running scripts inside user folder
rewrite {
r /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$
to /403
}
# deny access to specific files in the root folder
rewrite {
r /(LICENSE.txt|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess)
to /403
}
status 403 /403
# End - Security
# global rewrite (should come last)
rewrite {
to {path} {path}/ /index.php?_url={uri}&{query}
}
log .\Logs\TAaccess.log
errors .\Logs\TAerror.log {
# 404 404.html
404 New404.html
}
}
####################################################################################
# Placeholder for unimplemented sites:
#tetrahedral.audio,
#www.tetrahedral.audio,
refety.net,
www.refety.net,
cluthly.com,
www.cluthly.com {
root ..\emptysite
log .\Logs\NULaccess.log
errors .\Logs\NULerror.log {
404 New404.html
}
}
####################################################################################
####################################################################################