nginx将xxx.com(顶级域名)重定向到www.xxx.com(二级域名)配置

建站必备2个月前发布 aigc.cloud
322 0 0
以下是对这段 Nginx 配置代码的详细解读:
server {
    listen 443 ssl; 
    # 表示该服务器监听 443 端口,并启用 SSL/TLS 加密。这是 HTTPS 的默认端口。

    server_name www.xxx.com; 
    # 定义服务器所服务的域名。

    ssl_certificate /opt/certs/www.xxx.com.pem; 
    # 指定服务器的证书文件路径。

    ssl_certificate_key /opt/certs/www.xxx.com.key; 
    # 指定服务器证书对应的私钥文件路径。

    ssl_session_timeout 5m; 
    # 设置 SSL 会话的超时时间为 5 分钟。

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
    # 定义了服务器支持的加密套件。

    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; 
    # 定义了服务器支持的 TLS 协议版本。

    ssl_prefer_server_ciphers on; 
    # 表示优先使用服务器选择的加密套件。

    proxy_buffer_size 8k; 
    # 设置代理服务器(nginx)保存用户头信息的缓冲区大小为 8k。

    location / {
        # 处理根路径(/)的请求
        if ($host = "xxx.com") {
            return 301 https://www.xxx.com$request_uri; 
            # 如果访问的主机名是 "xxx.com",则进行 301 永久重定向到 "https://www.xxx.com" 加上原始的请求 URI。
        }
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://backend; 
        # 将请求代理到后端服务器 "http://backend"。
    }
}

server {
    listen 80; 
    # 监听 80 端口(HTTP 端口)

    server_name www.xxx.com
    # 定义服务的域名

    rewrite ^(.*) https://$server_name$1 permanent; 
    # 对所有 80 端口的请求进行永久重定向到对应的 HTTPS 地址(443 端口)
}
这段配置实现了对域名 www.xxx.com 的 HTTPS 配置和 HTTP 到 HTTPS 的强制重定向,同时设置了一些与 SSL 相关的参数和代理相关的头信息。

 

© 版权声明

相关文章

暂无评论

暂无评论...