While upgrading to 4.x I carefully followed https://pydio.com/en/docs/cells/v4/major-versions-upgrade-informations which states Cells Sites Bind URL should not use a domain name anymore
.
I used to have the following configuration:
+---+--------------------------------------+--------------+----------------------------------+
| # | BIND(S) | TLS | EXTERNAL URL |
+---+--------------------------------------+--------------+----------------------------------+
| 0 | https://141.94.xxx.yyy:8080, | Lets Encrypt | https://files.xxxxxxxxxxxxxx.org |
| | https://files.xxxxxxxxxxxxxx.org:443 | | |
+---+--------------------------------------+--------------+----------------------------------+
So I removed https://files.xxxxxxxxxxxxxx.org:443
from the bind(s) to only keep the (public) IP address. (I don’t know why it needs to be public by the way) resulting in this:
+---+-----------------------------+--------------+----------------------------------+
| # | BIND(S) | TLS | EXTERNAL URL |
+---+-----------------------------+--------------+----------------------------------+
| 0 | https://141.94.xxx.yyy:8080 | Lets Encrypt | https://files.xxxxxxxxxxxxxx.org |
+---+-----------------------------+--------------+----------------------------------
Anyway, when running 4.0.x it failed: Caddy refused to work because of a LetsEncrypt failure:
Obtain: subject does not qualify for a public certificate: 141.94.xxx.yyy
.
Indeed, .config/pydio/cells/caddy/autosave.json
was showing:
"tls": {
"automation": {
"policies": [
{
"issuers": [
{
"ca": "https://acme-v02.api.letsencrypt.org/directory",
"email": "log@xxxxxxxx.org",
"module": "acme"
}
],
"subjects": [
"141.94.xxx.yyy"
]
}
]
}
}
When adding back https://files.xxxxxxxxxxxxxx.org:443
as a secondary bind to the site configuration, I found that .config/pydio/cells/caddy/autosave.json
showed:
"tls": {
"automation": {
"policies": [
{
"issuers": [
{
"ca": "https://acme-v02.api.letsencrypt.org/directory",
"email": "log@xxxxxxxxxxxxxx.org",
"module": "acme"
}
],
"subjects": [
"files.xxxxxxxxxxxxxx.org",
"141.94.xxx.yyy"
]
}
]
}
}
When restarting cells, logs still showed a failure to obtain a certificate for the IP address but at least it got one for the hostname what finally allowed for a fully working https connection.
The issue is that I needed to disrespect the documentation guidelines to get an SSL-enabled instance working.
I think that even after all these iterative improvements to the site/microservice/configuration along these years, there is still some some room for improvements