Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtualmin Doesn't Use Fullchain for SSL with Let's Encrypt? #882

Open
trbutler opened this issue Aug 2, 2024 · 10 comments
Open

Virtualmin Doesn't Use Fullchain for SSL with Let's Encrypt? #882

trbutler opened this issue Aug 2, 2024 · 10 comments

Comments

@trbutler
Copy link

trbutler commented Aug 2, 2024

Some sites (for example Facebook's crawler than reveals social cards) require sites to serve the full chain SSL certificate, not just the site's certificate. However sites I host on Virtualmin that are using Virtualmin's Let's Encrypt functionality run into Facebook/Meta's crawler diagnostics reporting a HTTP 418 error. The error is itself erroneous and a reference to an April Fool's joke, but the cause seems to be the incomplete certificate chain.

Virtualmin seems to set ssl.cert from Let's Encrypt for web sites, rather than the full chain certificate; searching the Virtualmin forums reveals users wanting to switch the default, but not finding a setting to do so. It appears that Virtualmin does always include the fullchain.pem as ssl.combined in the virtual server's SSL certificate folder.

It would be trivial to switch web server template, which would prevent SSL failing validation for picky clients. I've created a post-server modification script that does a substitution if ssl.combined exists, but that seems less ideal than it being fixed upstream.

@jcameron
Copy link
Collaborator

jcameron commented Aug 2, 2024

You can change this behavior at System Settings -> Virtualmin Configuration -> SSL settings -> Configure Apache to use.

@iliajie
Copy link
Collaborator

iliajie commented Aug 2, 2024

You can change this behavior at System Settings -> Virtualmin Configuration -> SSL settings -> Configure Apache to use.

If this option affects more than just Apache, should we rename it?

@jcameron
Copy link
Collaborator

jcameron commented Aug 2, 2024

No it only effects Apache

@iliajie
Copy link
Collaborator

iliajie commented Aug 2, 2024

What about Nginx?

@jcameron
Copy link
Collaborator

jcameron commented Aug 2, 2024

No the Nginx module doesn't check this option (but it could)

@iliajie
Copy link
Collaborator

iliajie commented Aug 2, 2024

Then let's do it, and call it Configure webserver to use it instead?

@jcameron
Copy link
Collaborator

jcameron commented Aug 3, 2024

I'll look into it ...

@jcameron
Copy link
Collaborator

jcameron commented Aug 8, 2024

So I checked and Nginx already always uses combined certs, so there's no need to rename this option.

@jcameron jcameron closed this as completed Aug 8, 2024
@iliajie
Copy link
Collaborator

iliajie commented Aug 12, 2024

I’ve looked into it more deeply, and in this case, I don’t think any Apache-related options belong on the Virtualmin Configuration page at all.

I suggest we move the following options under System Settings ⇾ Server Templates / Website for domain:

  • Check Apache configuration before applying
  • Configure Apache to use
  • Address format for Apache virtual hosts

@iliajie iliajie reopened this Aug 12, 2024
@jcameron
Copy link
Collaborator

Yes I would agree that makes more sense! I'll look into it ....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants