Nginx-配置https证书

发布时间 2023-08-24 10:41:40作者: 王寄鱼

一、说明

在有些项目中需要帮客户配置https证书, 如果你的服务使用Nginx作为静态服务器并且做为了端口转发, 那么可以直接在Nginx中配置https证书

证书有好几种格式, 不同的格式对应不同server的配置, 这里主要使用的是pem/key格式的证书, 即公钥私钥文件对(必须要配对, 否则无法使用)

二、配置方法

server {
    listen 443 ssl;                         #监听的端口
    client_header_timeout   1200s;          #请求端链接超时时间
    client_body_timeout     1200s;          #请求端传输超时时间
    client_header_buffer_size 10k;          #请求端请求头的buffer size
    server_name  localhost;                 #请求的server name, 酌情修改
    ssl_certificate     /data/3530077_work.pd-italent.com.pem;  # 公钥文件路径
    ssl_certificate_key /data/3530077_work.pd-italent.com.key;  # 私钥文件路径
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;                  # 支持的协议
    ssl_ciphers         HIGH:!aNULL:!MD5;                       # 支持的加密算法
    client_max_body_size 500M;                                  # 请求端的body大小限制, 如涉及到上传大文件, 酌情修改
 
    root /web/dist/;
    index  index.html;
    location ~ .*\.(html)$ {
        add_header Cache-Control no-store;
        add_header Pragma no-cache;
    }
 
    location ^~ /webapp/ {
    client_max_body_size 500M;
        proxy_connect_timeout 1200;
        keepalive_timeout 1200;
        proxy_read_timeout 1200;
        proxy_send_timeout 1200;
        proxy_pass http://rpa_web_app:80/;
        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_set_header   X-Forwarded-Proto    $scheme;
    }
 
    location ^~ /backend/ {
        client_max_body_size 500M;
        proxy_connect_timeout 1200;
        keepalive_timeout 1200;
        proxy_read_timeout 1200;
        proxy_send_timeout 1200;
        proxy_pass http://rpa_api:10001/backend/;
        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_set_header   X-Forwarded-Proto    $scheme;
    }
    access_log  /web/logs/access.log main;
    error_log   /web/logs/error.log    error;
}