nginx反向代理

##
# 全局配置
##
 
user www-data;             ## 配置 worker 进程的用户和组
worker_processes auto;     ## 配置 worker 进程启动的数量,建议配置为 CPU 核心数
error_log logs/error.log;  ## 全局错误日志
pid /run/nginx.pid;        ## 设置记录主进程 ID 的文件
worker_rlimit_nofile 8192; ## 配置一个工作进程能够接受并发连接的最大数
 
##
# 工作模式及连接数上限
##
events {
    # epoll 是多路复用 IO(I/O Multiplexing)中的一种方式,
    # 仅用于 Linux 2.6 以上内核,可以大大提高 Nginx 性能
    use epoll
        
    # 单个后台 worker process 进程的最大并发链接数
    # 并发总数 max_clients = worker_professes * worker_connections
    worker_connections 4096;  ## Defaule: 1024
    # multi_accept on;  ## 指明 worker 进程立刻接受新的连接
}
 
##
# http 模块
##
 
http {
 
    ##
    # Basic Settings
    ##
    
    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
    #对于普通应用,必须设为 on,
    #如果用来进行下载等应用磁盘 IO 重负载应用,可设置为 off,
    #以平衡磁盘与网络 I/O 处理速度,降低系统的 uptime.
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;      ## 连接超时时间
    types_hash_max_size 2048;  ## 指定散列类型表的最大大小
    # server_tokens off;
 
    # server_names_hash_bucket_size 64;  # this seems to be required for some vhosts
    # server_name_in_redirect off;
    
    include /etc/nginx/mime.types;  ## 设定 mine 类型
    default_type application/octet-stream;
   
    # 设定请求缓冲
    client_header_buffer_size    128k; # 指定客户端请求头缓存大小,当请求头大于 1KB 时会用到该项
    large_client_header_buffers  4 128k; # 最大数量和最大客户端请求头的大小
    
    ##
    # SSL Settings
    ##
    
    # 启用所有协议,禁用已废弃的不安全的SSL 2 和SSL 3
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    # 让服务器选择要使用的算法套件
    ssl_prefer_server_ciphers on;
 
    ##
    # Logging Settings
    ##
 
    access_log /var/log/nginx/access.log;  ## 访问日志
    error_log /var/log/nginx/error.log;    ## 错误日志
 
    ##
    # Gzip Settings
    ##
 
    gzip on;
    gzip_disable "msie6";
 
    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
 
    ##
    # Virtual Host Configs
    ##
 
    include /etc/nginx/conf.d/*.conf;   # 这个文件夹默认是空的
    include /etc/nginx/sites-enabled/*; # 开启的 Server 服务配置
}

nginx反向代理

反向代理:reverse proxy,是指用代理服务器来接受客户端发来的请求,然后将请求转发给内网中的上游服务器,上游服务器处理完之后,把结果通过nginx返回给客户端。

配置:

server { 
    #监听端口 
    listen 80; 
    #服务器名称,也就是客户端访问的域名地址 
    server_name  a.xxx.com; 
    #nginx日志输出文件 
    access_log  logs/nginx.access.log  main; 
    #nginx错误日志输出文件 
    error_log  logs/nginx.error.log; 
    root   html; 
    index  index.html index.htm index.php; 
    location / { 
        #被代理服务器的地址 
        proxy_pass  http://localhost:8081; 
        #对发送给客户端的URL进行修改的操作 
        proxy_redirect     off; 
        proxy_set_header   Host             $host; 
        proxy_set_header   X-Real-IP        $remote_addr; 
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 
        http_504; 
        proxy_max_temp_file_size 0; 
   } 

}

这样就可以通过a.xxx.com来访问a项目对应的网站了,而不需要带上难看的端口号。

反向代理的配置关键点是:

1.server_name:代表客户端向服务器发起请求时输入的域名
2.proxy_pass:代表源服务器的访问地址,也就是真正处理请求的服务器(localhost+端口号)。

更换Nginx的SSL证书

需要更新Nginx配置文件中的证书文件路径。

以下是更换SSL证书的基本步骤:

  1. 更新证书文件:将新的证书文件(通常是.crt)和私钥文件(通常是.key)放置到服务器上的某个目录中。

  2. 更新Nginx配置:编辑Nginx的配置文件(通常是/etc/nginx/nginx.conf或者/etc/nginx/sites-available/your_domain),找到ssl_certificatessl_certificate_key指令,将它们的路径分别指向新的证书文件和私钥文件。

         配置示例:

server {
    listen 443 ssl;
    server_name your_domain.com;
 
    ssl_certificate /path/to/new_certificate.crt;
    ssl_certificate_key /path/to/new_private.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
 
    # ... 其他配置 ...
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值