Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker

Docker安装Nginx - 需要有域名

没有docker需提前安装docker,不知怎么安装的请自行百度。

1、拉取镜像

docker pull nginx

2、去阿里云或者其他云服务提供商申请免费证书,申请到之后下载下来,上传到服务器

# 创建nginx-proxy目录
mkdir nginx-proxy
# 创建ssl目录,存放证书
mkdir ssl

把证书上传到ssl目录下面,下面是ssl的目录结构/root/nginx/ssl和上传的证书有两个文件一个.key一个.pem
Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker_第1张图片
进入nginx-proxy目录cd /root/nginx/nginx-proxy

# 拷贝证书
cp -a /root/nginx/ssl ./

3、编写nginx.conf
在nginx-proxy目录`目录下面

vim nginx.conf

粘贴以下内容,注意修改证书名为自己的(转发规则根据自己的需求自定义)

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        server_name openAI;

        location /v1/ {
            proxy_pass https://api.openai.com;
        }
    }

    server {
        listen 443 ssl;
        server_name openAI;
       
        ssl_certificate /etc/nginx/ssl/自己的证书名.pem;
        ssl_certificate_key /etc/nginx/ssl/自己的证书名.key;
        proxy_ssl_server_name on;
        proxy_ssl_session_reuse off;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location /v1/ {
            proxy_pass https://api.openai.com;
        }
    }
}

3、编写Dockerfile
编写镜像文件

vim Dockerfile

粘贴以下内容

FROM nginx:latest

COPY nginx.conf /etc/nginx/nginx.conf
COPY ssl /etc/nginx/ssl

完事以后nginx-proxy目录下面结构如下
Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker_第2张图片
4、创建镜像并运行测试
构建镜像

docker build -t custom-nginx .

镜像构建完之后,docker images查看镜像如下,可以看到custom-nginx镜像Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker_第3张图片
运行custom-nginx镜像

docker run -d -p 19980:80 -p 19981:443 --name custom-nginx  custom-nginx

docker ps查看运行的容器
在这里插入图片描述去浏览器测试https://自己的域名:19981/v1/text能不能转发,出现下面的情况表示转发成功(注意:有防火墙或者安全组的话需要打开才行)Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker_第4张图片## 测试结果

14:32:07.353 [OkHttp https://xxxxxxxxxxx:19981/...] INFO com.unfbx.chatgpt.sse.ConsoleEventSourceListener - OpenAI返回数据:{"id":"chatcmpl-7PPxCx8loyVUsYRr4dCO35mypX06f","object":"chat.completion.chunk","created":1686292322,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"content":"时间"},"index":0,"finish_reason":null}]}

你可能感兴趣的:(nginx,ssl,https)