nginx将xxx.com(顶级域名)重定向到www.xxx.com(二级域名)配置
以下是对这段 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 相关的参数和代理相关的头信息。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
下一篇
没有更多了...
相关文章
暂无评论...
添加小工具