Could not automatically find a matching server block for... Set the `server_name` directive to use the Nginx installer

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. |, so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain

I ran this command: sudo certbot --nginx

It produced this output:

Could not automatically find a matching server block for Set the `server_name` directive to use the Nginx installer.

My web server is (include version): nginx/1.22.0

The operating system my web server runs on is (include version): Debian 11

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don't know): yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot):certbot 1.12.0

/etc/nginx/sites-available$ nano odoo.conf displays

Virtual Host configuration for
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#server {
#       listen 80;
#       listen [::]:80;
#       server_name;
#       root /var/www/;
#       index index.html;

Error Log Files

2023-09-27 12:48:17,539:DEBUG:certbot._internal.error_handler:Calling registered functions
2023-09-27 12:48:17,603:DEBUG:certbot._internal.reporter:Reporting to user: Unable to install the certificate
2023-09-27 12:48:17,603:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/bin/certbot", line 33, in <module>
    sys.exit(load_entry_point('certbot==1.12.0', 'console_scripts', 'certbot')())
  File "/usr/lib/python3/dist-packages/certbot/", line 15, in main
    return internal_main.main(cli_args)
  File "/usr/lib/python3/dist-packages/certbot/_internal/", line 1413, in main
    return config.func(config, plugins)
  File "/usr/lib/python3/dist-packages/certbot/_internal/", line 1164, in run
    _install_cert(config, le_client, domains, new_lineage)
  File "/usr/lib/python3/dist-packages/certbot/_internal/", line 803, in _install_cert
    le_client.deploy_certificate(domains, path_provider.key_path,
  File "/usr/lib/python3/dist-packages/certbot/_internal/", line 539, in deploy_certificate
  File "/usr/lib/python3/dist-packages/certbot_nginx/_internal/", line 231, in deploy_cert
    vhosts = self.choose_vhosts(domain, create_if_no_match=True)
  File "/usr/lib/python3/dist-packages/certbot_nginx/_internal/", line 336, in choose_vhosts
    vhosts = [self._vhost_from_duplicated_default(target_name, True,
  File "/usr/lib/python3/dist-packages/certbot_nginx/_internal/", line 385, in _vhost_from_duplicated_default
    default_vhost = self._get_default_vhost(domain, allow_port_mismatch, port)
  File "/usr/lib/python3/dist-packages/certbot_nginx/_internal/", line 422, in _get_default_vhost
    raise errors.MisconfigurationError("Could not automatically find a matching server"
certbot.errors.MisconfigurationError: Could not automatically find a matching server block for Set the `server_name` directive to use the Nginx installer.
2023-09-27 12:48:17,604:ERROR:certbot._internal.log:Could not automatically find a matching server block for Set the `server_name` directive to use the Nginx installer.
1 Like

Hi @vombaka, and welcome to the LE community forum :slight_smile:

You need a working HTTP site before you can secure it using HTTP-01 authentication.

You file ("odoo.conf") is filled with "#"
None of those lines are active.


Hi and thanks for being prompt

this site is already working


Please show:
nginx -T


nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

Use a capital "T"
nginx -T


# configuration file /etc/nginx/nginx.conf:

user www-data;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/;

events {
    worker_connections  1024;

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*.conf;

# configuration file /etc/nginx/mime.types:

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    image/gif                                        gif;
    image/jpeg                                       jpeg jpg;
    application/javascript                           js;
    application/atom+xml                             atom;
    application/rss+xml                              rss;

    text/mathml                                      mml;
    text/plain                                       txt;
    text/                 jad;
    text/vnd.wap.wml                                 wml;
    text/x-component                                 htc;

    image/avif                                       avif;
    image/png                                        png;
    image/svg+xml                                    svg svgz;
    image/tiff                                       tif tiff;
    image/vnd.wap.wbmp                               wbmp;
    image/webp                                       webp;
    image/x-icon                                     ico;
    image/x-jng                                      jng;
    image/x-ms-bmp                                   bmp;

    font/woff                                        woff;
    font/woff2                                       woff2;

    application/java-archive                         jar war ear;
    application/json                                 json;
    application/mac-binhex40                         hqx;
    application/msword                               doc;
    application/pdf                                  pdf;
    application/postscript                           ps eps ai;
    application/rtf                                  rtf;
    application/                    m3u8;
    application/             kml;
    application/                 kmz;
    application/                         xls;
    application/                    eot;
    application/                    ppt;
    application/      odg;
    application/vnd.oasis.opendocument.presentation  odp;
    application/vnd.oasis.opendocument.spreadsheet   ods;
    application/vnd.oasis.opendocument.text          odt;
    application/vnd.wap.wmlc                         wmlc;
    application/wasm                                 wasm;
    application/x-7z-compressed                      7z;
    application/x-cocoa                              cco;
    application/x-java-archive-diff                  jardiff;
    application/x-java-jnlp-file                     jnlp;
    application/x-makeself                           run;
    application/x-perl                               pl pm;
    application/x-pilot                              prc pdb;
    application/x-rar-compressed                     rar;
    application/x-redhat-package-manager             rpm;
    application/x-sea                                sea;
    application/x-shockwave-flash                    swf;
    application/x-stuffit                            sit;
    application/x-tcl                                tcl tk;
    application/x-x509-ca-cert                       der pem crt;
    application/x-xpinstall                          xpi;
    application/xhtml+xml                            xhtml;
    application/xspf+xml                             xspf;
    application/zip                                  zip;

    application/octet-stream                         bin exe dll;
    application/octet-stream                         deb;
    application/octet-stream                         dmg;
    application/octet-stream                         iso img;
    application/octet-stream                         msi msp msm;

    audio/midi                                       mid midi kar;
    audio/mpeg                                       mp3;
    audio/ogg                                        ogg;
    audio/x-m4a                                      m4a;
    audio/x-realaudio                                ra;

    video/3gpp                                       3gpp 3gp;
    video/mp2t                                       ts;
    video/mp4                                        mp4;
    video/mpeg                                       mpeg mpg;
    video/quicktime                                  mov;
    video/webm                                       webm;
    video/x-flv                                      flv;
    video/x-m4v                                      m4v;
    video/x-mng                                      mng;
    video/x-ms-asf                                   asx asf;
    video/x-ms-wmv                                   wmv;
    video/x-msvideo                                  avi;

# configuration file /etc/nginx/sites-enabled/odoo.conf:
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.

upstream backend {

server {
    listen 80;
    location / {
        proxy_pass http://backend;
    # log files
    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;

    # Cache static files
    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://backend;

     # Gzip
     gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
     gzip on;


# Virtual Host configuration for
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#server {
#       listen 80;
#       listen [::]:80;
#       server_name;
#       root /var/www/;
#       index index.html;
#       location / {
#               try_files $uri $uri/ =404;
#       }

This is NOT in use:

This is in use:


should I edit it manually to create the server block?

I have no idea what they are doing nor what you want them to do.
I can't advise you properly without knowing much more.
[which I really don't care to know nor do - as this is not an nginx "how to build a site" forum].

Once you have a properly working HTTP site, you can then use "sudo certbot --nginx".


This configuration came when I deployed an odoo server from google cloud

1 Like

I don't know what you are trying to do either but the one server block that is active is missing a server_name

Are you supposed to have something like this in the active server block?


It seems to have been loaded "as an example".


You actually helped me out. I configured using the example and now it works. Thanks


Did that and now it works. Thanks


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.