NGINX配置子域名反向代理,并支持SSL(https)

若要在Nginx中开启子域名代理并使用SSL,你可以使用以下配置示例。这个示例包含了一个主域名和两个子域名,并配置了SSL证书。确保替换实际的域名、证书路径以及后端服务器地址。

worker_processes 1;

events {
    worker_connections 1024;
}

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

    # 主域名 HTTP
    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend-example;
            # 其他代理配置
        }
    }

    # 主域名 HTTPS
    server {
        listen 443 ssl;
        server_name example.com;

        ssl_certificate /path/to/example.crt;
        ssl_certificate_key /path/to/example.key;

        location / {
            proxy_pass http://backend-example;
            # 其他代理配置
        }

        # 其他SSL配置
    }

    # 子域名1 HTTP
    server {
        listen 80;
        server_name sub1.example.com;

        location / {
            proxy_pass http://backend-sub1;
            # 其他代理配置
        }
    }

    # 子域名1 HTTPS
    server {
        listen 443 ssl;
        server_name sub1.example.com;

        ssl_certificate /path/to/sub1.crt;
        ssl_certificate_key /path/to/sub1.key;

        location / {
            proxy_pass http://backend-sub1;
            # 其他代理配置
        }

        # 其他SSL配置
    }

    # 子域名2 HTTP
    server {
        listen 80;
        server_name sub2.example.com;

        location / {
            proxy_pass http://backend-sub2;
            # 其他代理配置
        }
    }

    # 子域名2 HTTPS
    server {
        listen 443 ssl;
        server_name sub2.example.com;

        ssl_certificate /path/to/sub2.crt;
        ssl_certificate_key /path/to/sub2.key;

        location / {
            proxy_pass http://backend-sub2;
            # 其他代理配置
        }

        # 其他SSL配置
    }

    # 添加更多的 server 块以配置更多的子域名
}

确保替换以下内容:

  • example.comsub1.example.comsub2.example.com:实际的域名。
  • /path/to/example.crt/path/to/example.key:主域名的SSL证书和私钥路径。
  • /path/to/sub1.crt/path/to/sub1.key:子域名1的SSL证书和私钥路径。
  • /path/to/sub2.crt/path/to/sub2.key:子域名2的SSL证书和私钥路径。
  • http://backend-examplehttp://backend-sub1http://backend-sub2:实际的后端服务器地址。

确保SSL证书和私钥文件存在,然后重新加载或重启Nginx以使配置生效:

sudo nginx -s reload

或者

sudo service nginx restart

本文由chatgpt3生成,个人对校对并调整!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注