This site uses a Letsencrypt certificate, which I managed to include into Gitlab Pages.

Certificates are assumed in /etc/gitlab/ssl/domain-of-the-page.crt, so I symlinked them from /etc/letsencrypt/live/… and uncommented pages_nginx['ssl_certificate'] and pages_nginx['ssl_certificate_key'] in gitlab.rb. It still used the certificate for Gitlab itself.

After quite a lot of riddling I found that if all the SSL settings commented, it does work as expected. So neither nginx['ssl_certificate'], nor pages_nginx['ssl_certificate'] ( nor mattermost_nginx['ssl_certificate']) need to actually be set, if the certificates are placed /etc/gitlab/ssl/ and named after their domain.