docker kong 设置https
时间: 2023-08-31 21:10:19 浏览: 247
要在Docker中使用Kong并设置HTTPS,您可以按照以下步骤进行操作:
1. 准备SSL证书:首先,您需要获取SSL证书的公钥和私钥。您可以购买证书或使用免费的证书颁发机构(如Let's Encrypt)来获取证书。
2. 创建Docker网络:运行以下命令创建一个Docker网络,以便Kong与其他容器进行通信:
```
$ docker network create kong-net
```
3. 运行Kong数据库容器:运行以下命令来启动Kong所需的数据库容器:
```
$ docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kong" \
postgres:12
```
4. 运行Kong数据库迁移容器:运行以下命令来执行数据库迁移:
```
$ docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
```
5. 运行Kong代理容器:现在,运行以下命令来启动Kong代理容器,并将SSL证书和其他必要配置添加到容器中:
```
$ docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-e "KONG_PROXY_LISTEN=0.0.0.0:8000, 0.0.0.0:8443 ssl" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-e "KONG_ADMIN_SSL_CERT=/path/to/ssl_cert.pem" \
-e "KONG_ADMIN_SSL_CERT_KEY=/path/to/ssl_cert_key.pem" \
-v /path/to/ssl_cert.pem:/path/to/ssl_cert.pem \
-v /path/to/ssl_cert_key.pem:/path/to/ssl_cert_key.pem \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest
```
确保将`/path/to/ssl_cert.pem`和`/path/to/ssl_cert_key.pem`替换为您实际的证书路径。
6. 完成设置:现在,您应该已经在Docker中成功运行了Kong,并配置为使用HTTPS。您可以通过访问`https://localhost:8444`来访问Kong的管理界面,并使用相应的SSL证书进行加密通信。请记住,这里的示例使用的是自签名证书,如果使用真实的SSL证书,请将其替换为实际证书的路径和信息。
阅读全文