nginx的.conf文件的配置 https配置 和反向代理的配置 以及基本参数的解释

以下是一个包含 HTTPS 配置和反向代理配置的 Nginx .conf 文件示例,并对其中的基本参数进行解释:

# 用户和组,通常可以使用默认的 "nginx"
user nginx;
# 工作进程数,一般设置为 CPU 核心数
worker_processes auto;

# 错误日志的路径和级别
error_log /var/log/nginx/error.log notice;

# PID 文件的路径
pid /var/run/nginx.pid;

events {
    # 每个工作进程的最大并发连接数
    worker_connections  1024;
}

http {
    # 包含 MIME 类型的映射
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    # 日志格式设置
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # 访问日志的路径和使用的日志格式
    access_log  /var/log/nginx/access.log  main;

    # 开启高效文件传输模式
    sendfile        on;
    # 避免在网络连接时缓冲数据
    tcp_nopush     on;
    # 保持长连接的超时时间
    keepalive_timeout  65;

    # 启用 Gzip 压缩
    gzip  on;

    # 服务器配置块
    server {
        # 监听的端口
        listen       80;
        # 服务器名称
        server_name  example.com; 

        # 重定向所有 HTTP 请求到 HTTPS
        return 301 https://$server_name$request_uri;
    }

    server {
        # 监听的 HTTPS 端口
        listen       443 ssl;
        # 服务器名称
        server_name  example.com; 

        # SSL 证书文件路径
        ssl_certificate      /etc/nginx/ssl/cert.pem;
        # SSL 证书密钥文件路径
        ssl_certificate_key  /etc/nginx/ssl/key.pem;

        # SSL 配置参数
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        # 反向代理配置
        location / {
            # 代理到后端服务器(如:http://127.0.0.1:8080)
            proxy_pass http://backend_server; 
            # 传递客户端的真实 IP 给后端
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

以下是对上述配置中一些关键参数的解释:

  • listen:指定服务器监听的端口,可以是 HTTP 的 80 端口或 HTTPS 的 443 端口。
  • server_name:定义服务器的名称,用于匹配客户端请求的主机头。
  • ssl_certificate 和 ssl_certificate_key:分别指定 SSL 证书和密钥的文件路径,用于启用 HTTPS 加密连接。
  • proxy_pass:指定反向代理的目标服务器地址。
  • proxy_set_header:设置传递给后端服务器的请求头,以提供更多的客户端信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值