nginx 配置代理(SSL转发、静态资源服务)

659 阅读1分钟

配置ssl代理先要拥有ssl证书,我们将ssl证书的两个文件 .pem后缀的证书文件.key后缀的秘钥文件 复制到nginx的文件中的 conf 目录下 (也可以放在其他目录下,但是对应的ssl_certificate和ssl_certificate_key配置就需要做相应的修改)

屏幕截图 2022-12-07 172044.png

然后我们打开nginx.conf这个配置文件 主要配置如下

XXX.com对应你的域名 以下都用XXX.com代替

http{
    server{
        # ssl 监听443端口
        listen 443 ssl;
        server_name XXX.com;
        # 这里的 full_chain.pem 就是我们上面讲到的ssl证书文件
        ssl_certificate full_chain.pem;
        # private.key 是我们的秘钥文件
        ssl_certificate_key private.key;
        
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        #如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下
        location / {
            # 转发到目标服务地址 XXX.com对应解析的ip地址
            proxy_pass http://120.66.66.666:3000;
        }
            # 如果请求是 XXX.com/123.png 那么就匹配到此处,
            #ngixn就会去C:\Users\Administrator\Desktop\static\images目录下找123.png这张图片作为静态资源返回
            #如果服务器是linus就对应是 home/...啥的 反正都是绝对路径
        location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
            root       C:\Users\Administrator\Desktop\static\images;
            access_log   off;
            expires      30d;  
        }
    }
    #监听80端口,并重定向到443
    # 访问 XXX.com 默认就是80端口
    server{
        listen 80;
        server_name XXX.com;
        rewrite ^/(.*)$ https://XXX.com:443/$1 permanent;
    }
}

这样就完成https 和 静态资源服务的配置了