0

I've got an nginx config below which has 2 server blocks for ssl. I have customers with different ssl certs for their domains for our application. It was simple enough to set that up but the problem now is that the location part is duplicated for each server block that listens on 443. Is there a way that I can remove this duplication? I've seen a way to seperate into another file and include it but I would prefer that it remain in a single file if possible.

upstream example {
    server example1.aws.myserver.com:80;
}

server {
    listen 80;
    server_name example1.myserver.com example1-aws.myserver.com example2.customerserver.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name example1.myserver.com example1-aws.myserver.com;

    ssl_certificate /etc/nginx/ssl/myserver.com.cert;
    ssl_certificate_key /etc/nginx/ssl/myserver.com.private.key;
    ssl_session_timeout 5m;

    location / {
        proxy_pass http://example;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen 443 ssl;
    server_name example2.customerserver.com;

    ssl_certificate /etc/nginx/ssl/example2.customerserver.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example2.customerserver.com.key;
    ssl_session_timeout 5m;

    location / {
        proxy_pass http://example;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
2

0

You must log in to answer this question.

Browse other questions tagged .