[root@mail letsencrypt]# more /opt/zimbra/conf/nginx.conf
NGINX POP/IMAP proxy configuration file for use with Zimbra
working_directory /opt/zimbra;
include /opt/zimbra/conf/nginx/includes/nginx.conf.main;
include /opt/zimbra/conf/nginx/includes/nginx.conf.memcache;
include /opt/zimbra/conf/nginx/includes/nginx.conf.zmlookup;
include /opt/zimbra/conf/nginx/includes/nginx.conf.mail;
include /opt/zimbra/conf/nginx/includes/nginx.conf.web;
[root@mail letsencrypt]# more /opt/zimbra/conf/nginx/includes/nginx.conf.web
http
{
# disable nginx version on error pages
server_tokens off;
upstream_fair_shm_size 32k;
root /opt/zimbra/data/nginx/html;
# You need to customize these two values by setting local config
# proxy_server_names_hash_max_size and proxy_names_hash_bucket_size
# when too many virtual host names are added
server_names_hash_max_size 512;
server_names_hash_bucket_size 64;
# Define whether nginx will match exact server version against the
# version received in the client request. Defaults to 'on'
# Setting this to off will make nginx compare only the major and minor
# server versions (eg. all 8.5.x will be treated same by nginx)
exact_version_check on;
# Define the collection of upstream HTTP webclient servers to which we will proxy
# Define each server:port against a server directive
#
upstream zimbra_webclient
{
server mail.cebucity.gov.ph:8080 fail_timeout=10s version=8.8.15_GA_3829;
zmauth;
}
# Define the collection of upstream HTTP servers to which we will proxy
# Define each server:port against a server directive
#
upstream zimbra
{
server mail.cebucity.gov.ph:8080 fail_timeout=10s version=8.8.15_GA_3829;
zmauth;
}
# Define the collection of upstream HTTPS webclient servers to which we will proxy
# Define each server:port against a server directive
[root@mail letsencrypt]# more /opt/zimbra/conf/nginx/includes/nginx.conf.web.https
[root@mail letsencrypt]# more /opt/zimbra/conf/nginx/includes/nginx.conf.web.https.default
HTTPS Proxy Default Configuration
Strict servername enforcing block
Enabled/disabled through the âzimbraReverseProxyStrictServerNameâ configuration item
The ${listen.:addresses} is NOT demarcated with web.strict.servername on purpose.
#server {
#listen [::]:443 default_server ipv6only=off;
listen 443 default_server;
#listen [::]:443 default_server;
server_name _;
# Listen addresses extracted from zimbraVirtualIPAddress on each domain
# Listen addresses extracted from zimbraVirtualIPAddress on each domain
su zimbra
/opt/zimbra/bin/zmcertmgr verifycrt comm /etc/letsencrypt/live/mail.cebucity.gov.ph/privkey.pem /etc/letsencrypt/live/mail.cebucity.gov.ph/cert.pem
[if that is OK - success]
cp /etc/letsencrypt/live/mail.cebucity.gov.ph/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
/opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/mail.cebucity.gov.ph/cert.pem /etc/letsencrypt/live/mail.cebucity.gov.ph/chain.pem
zmcontrol restart
exit
yes.
If you want to try that, backup the current files first.
replace them and restart zimbra
su zimbra
zmcontrol restart
zmcontrol status
- if anything failing
zmcontrol start
- if still failing
replace files with backups and restart zimbra and try the other method
It must be a permissions problem - the files are there.
show files with: ls -l /etc/letsencrypt/live/mail.cebucity.gov.ph/ Zimbra user has no right to read them.
if that fails, copy the needed files to another location (like: /opt/zimbra/cert - create path)
then make those files readable by zimbra or all
let zimbra use them then delete them
If you only have the one zimbra server that may work.
If you have more (and they operate together) that may fail as zimbra needs to update itself in local ldap for server to server communications.