配置

#
# The default server block for HTTP (Port 80)
#
server {
    listen       80 default_server;
    server_name  _;

    # HTTP to HTTPS redirection
    rewrite ^ https://1.1.1.1$request_uri;  # 使用 $request_uri 保持路径和查询参数不丢失

    # Include additional configuration files if needed
    include /etc/nginx/default.d/*.conf;

    # Default error pages
    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}

#
# The default server block for HTTPS (Port 443)
#
server {
    listen       443 ssl default_server;
    server_name  _;

    # SSL Configuration
    ssl_certificate cert.pem;
    ssl_certificate_key private.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # HTTPS to HTTPS redirection (in case users access via IP or domain)
    rewrite ^ https://1.1.1.1$request_uri;  # 同样使用 $request_uri 保持路径和查询参数

    # Include additional configuration files if needed
    include /etc/nginx/default.d/*.conf;

    # Default error pages
    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}

说明

  1. HTTP 重定向配置:
    • 在处理 HTTP 请求时,使用 rewrite ^ https://1.1.1.1$request_uri;  来确保请求被正确重定向到 https://1.1.1.1,并且保留了路径和查询参数。$request_uri  保证了路径和任何 URL 参数会随重定向一起传递。
  2. HTTPS 重定向配置:
    • 在处理 HTTPS 请求时,也采用类似的 rewrite 规则:rewrite ^ https://1.1.1.1$request_uri;。这会确保即使用户通过 HTTPS 访问时,URL 也会被重定向到 https://1.1.1.1
  3. default_server  标识:
    • 确保 default_server  在两个 server  块中都存在,这意味着当没有匹配到特定 server_name  时,NGINX 将默认使用这个 server  块处理请求。

其他

当前配置中,server_name 被设置为 _,表示匹配所有未特别指定域名的请求。

如果希望对某个特定域名或 IP 进行处理,将 server_name 设置为实际的域名或者 IP 地址。

server_name example.com;  # 或者
server_name 1.1.1.1;      # 如果只希望对特定的 IP 地址进行处理

友情提示:本站所有文章,如无特殊说明或标注,均为何星星原创发布。与此同时,趋于近年来本站的文章内容频繁被他站盗用与机器采集,现已全局禁用网站文字内容操作,了解详情或转载文章请 点此 继续!
分类: 系统运维

0 条评论

发表回复

Avatar placeholder

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