手动阀

Good Luck To You!

Nginx服务器下配置个性二级域名及多个域名的实例讲解

在Nginx服务器下配置个性二级域名及多个域名,可以通过以下步骤实现:

Nginx服务器下配置个性二级域名及多个域名的实例讲解

一、配置DNS服务器

1、泛域名解析:需要在DNS服务器上配置泛域名解析,将所有以“.example.com”结尾的二级域名解析到同一台服务器的IP地址,这可以通过创建别名记录(CNAME)或使用通配符来实现。

2、添加A记录:对于每个具体的二级域名(如www、api等),在DNS服务器上添加相应的A记录,将其指向服务器的IP地址。

二、配置Nginx服务器

1. 基本HTTP配置

对于简单的HTTP服务,可以直接在Nginx配置文件中添加server块,指定监听端口和域名,并设置网站的根目录和默认文件。

server {
    listen       80;
    server_name  www.example.com;
    location / {
        root   /var/www/html;
        index  index.html index.htm;
    }
}

2. 泛域名解析配置

对于泛域名解析,可以使用正则表达式匹配所有二级域名,并将它们指向同一个网站根目录或根据子域名动态设置根目录。

Nginx服务器下配置个性二级域名及多个域名的实例讲解

server {
    listen 80;
    server_name ~^(?<subdomain>.+)\.example\.com$;
    set $root_path '/var/www/html/$subdomain';
    root $root_path;
    index index.html index.htm index.php;
    try_files $uri $uri/ =404;
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /\.ht {
        deny all;
    }
}

在这个配置中,~^(?<subdomain>.+)\.example\.com$是一个正则表达式,用于匹配所有以“.example.com”结尾的二级域名,并将匹配到的子域名部分存储在变量$subdomain中,根据$subdomain的值动态设置网站的根目录。

3. HTTPS配置

为了启用HTTPS,需要为每个域名配置SSL证书和私钥,可以使用Let's Encrypt等免费SSL证书提供商获取证书,以下是一个简单的HTTPS配置示例:

server {
    listen 443 ssl;
    server_name www.example.com;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

对于泛域名的HTTPS配置,由于SSL证书通常不支持泛域名,因此需要为每个具体域名单独配置证书或使用通配符证书。

4. 重定向配置

如果希望将HTTP请求重定向到HTTPS,可以在HTTP server块中添加重定向规则:

Nginx服务器下配置个性二级域名及多个域名的实例讲解

server {
    listen 80;
    server_name www.example.com;
    return 301 https://$host$request_uri;
}

三、重启Nginx服务器

完成配置后,需要重启Nginx服务器以使更改生效:

sudo service nginx restart

或者,如果使用的是systemctl管理Nginx服务:

sudo systemctl restart nginx

注意事项

确保DNS服务器已正确配置,并且所有二级域名都能解析到服务器的IP地址。

SSL证书必须与域名匹配,否则会导致浏览器信任问题,对于泛域名解析,通常需要使用通配符证书或为每个具体域名单独配置证书。

在配置过程中,请务必小心谨慎,避免误操作导致网站无法访问,建议在进行任何更改之前备份原始配置文件。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.