Disable http listener for SNI ssl hosts in nginx. This allows the use of the following config again: https://mailcow.github.io/mailcow-dockerized-docs/u_e-80_to_443/ However that documentation page should still be updated: https://github.com/mailcow/mailcow-dockerized-docs/pull/175/commits
		
			
				
	
	
		
			39 lines
		
	
	
		
			1020 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1020 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| echo '
 | |
| server {
 | |
|   listen 127.0.0.1:65510;
 | |
|   include /etc/nginx/conf.d/listen_plain.active;
 | |
|   include /etc/nginx/conf.d/listen_ssl.active;
 | |
| 
 | |
|   ssl_certificate /etc/ssl/mail/cert.pem;
 | |
|   ssl_certificate_key /etc/ssl/mail/key.pem;
 | |
| 
 | |
|   include /etc/nginx/conf.d/server_name.active;
 | |
| 
 | |
|   include /etc/nginx/conf.d/includes/site-defaults.conf;
 | |
| }
 | |
| ';
 | |
| for cert_dir in /etc/ssl/mail/*/ ; do
 | |
|   if [[ ! -f ${cert_dir}domains ]] || [[ ! -f ${cert_dir}cert.pem ]] || [[ ! -f ${cert_dir}key.pem ]]; then
 | |
|     continue
 | |
|   fi
 | |
|   # do not create vhost for default-certificate. the cert is already in the default server listen
 | |
|   domains="$(cat ${cert_dir}domains | sed -e 's/^[[:space:]]*//')"
 | |
|   case "${domains}" in
 | |
|     "") continue;;
 | |
|     "${MAILCOW_HOSTNAME}"*) continue;;
 | |
|   esac
 | |
|   echo -n '
 | |
| server {
 | |
|   include /etc/nginx/conf.d/listen_ssl.active;
 | |
| 
 | |
|   ssl_certificate '${cert_dir}'cert.pem;
 | |
|   ssl_certificate_key '${cert_dir}'key.pem;
 | |
| ';
 | |
|   echo -n '
 | |
|   server_name '${domains}';
 | |
| 
 | |
|   include /etc/nginx/conf.d/includes/site-defaults.conf;
 | |
| }
 | |
| ';
 | |
| done
 |