书接上文:前三个章节介绍了基础环境及运行相关,本章针对dify智能体实现https及域名绑定进行介绍
(啰嗦两句: 最开始我是有一个绑定域名的nginx服务的,本着能偷懒,就偷懒的想法,不太想深究配置,毕竟还有maxkb、cherry studio、anythingllm等相关智能体想探究下,时间关系肯定是越简单越好的, 原计划是是直接讲其他项目使用的 nginx 直接做一个反向代理到对应的 dify服务器上,改改端口也就能用了 ,当然没有对应密钥、文件侵入是可以使用的。奈何微信小程序真小狗 绑定后还得给dify前端侵入点密钥,足做过小程序对接的应该熟悉—所以无奈作罢。小程序对接dify +小程序定制页面api对接+ 微信智能客服绑定dify等在后边单独开文章啰嗦)
看官老爷系好安全带,86上山了!!!
1、docker-compose配置文件解读
首先这张截图大家仔细观看
为了让大家知道在哪里来个路径
那其实想表达什么呢?
言简意赅:不要再这里修改
需要修改 .env 文件
(那么如果你该文件下没有 这个文件那你就得看看你在最开始运行的时候有没有拷贝了 参考第二章中项目启动)
简单给大家理一下现有部署的初始化版本的调用逻辑吧!
该nginx相当于本系统内的一个反向代理
优点:1、统一入口管理 2、后期扩充相关功能更加方便 3、整体规划更加合理 等等
那么通过这个代理其实可以将请求或者数据分发到不同的服务下,例如
相关的前端、后段和中间件下。我们也可以看到该容器基本都是将配置列项或者代理相关做的实现,
所以也就验证在前边相当于我准备去做的反向代理,初始的想法是一致,我觉得是很合理的。
environment:
NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false}
NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443}
NGINX_PORT: ${NGINX_PORT:-80}
# You're required to add your own SSL certificates/keys to the `./nginx/ssl` directory
# and modify the env vars below in .env if HTTPS_ENABLED is true.
NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt}
NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key}
其实我们能看到dify的官方已经给出了相关配置的列项。
2、.env文件解读
上文中我们看到docker-compose中的配置那么在.env中又存在哪里呢
首先我们先看看初始化的.env.expoes在哪里
(啰嗦两句大佬就略过:隐藏文件!隐藏文件!隐藏文件! 想看到使用ls -a 大佬就略过 )
这样的话 docker-compose.yml 与.env的关系是不是非常清楚了 所以需要改这个.env 进行实现
(也保险点,假设改错 编辑文档多个什么 。 , 之类的 你又得吭哧吭哧折腾俩小时 哈哈哈🤣)
能看到这里的看官老爷是不是在想我为何浪费这么多时间看我废话。配置文件我都懂啊!比作者都清楚,请直接上干货 干货 干货!
收到 好的 马上来!!!
3、配置列项
这个啰嗦少不了: 1、如果是云服务器资源,请购买对应域名。 2、如果是衙门差事,请让衙门提供 3、提供对应的域名后,记住要ssl密钥 4、准备工作完成,那么就开搞!
有的兄弟说是 我没有域名!也没有ssl !不在衙门 也没有云资源准备不了
看个乐子吧 兄弟
你能点进来我知道你尊重我 但是你不尊重你自己 🤣
1、长这样
省的衙门网管忽悠你 密钥长这样
其中一级域名 二级域名均可
2、配置文件怎么改(.evn中)
# ------------------------------
# Environment Variables for Nginx reverse proxy
# ------------------------------
NGINX_SERVER_NAME=xxxx.xxx.com
NGINX_HTTPS_ENABLED=true
# HTTP port
NGINX_PORT=80
# SSL settings are only applied when HTTPS_ENABLED is true
NGINX_SSL_PORT=443
# if HTTPS_ENABLED is true, you're required to add your own SSL certificates/keys to the `./nginx/ssl` directory
# and modify the env vars below accordingly.
NGINX_SSL_CERT_FILENAME=dify.crt
NGINX_SSL_CERT_KEY_FILENAME=dify.key
NGINX_SSL_PROTOCOLS=TLSv1.1 TLSv1.2 TLSv1.3
其实你只需要关注
NGINX_SERVER_NAME=xxxx.xxx.com
NGINX_HTTPS_ENABLED=trueNGINX_SSL_CERT_FILENAME=dify.crt
NGINX_SSL_CERT_KEY_FILENAME=dify.key
把你的ssl配置到你的docker/nginx/ssl下
其中名称的话 就按照dify.xx改改吧 省的乱改自己糊涂
好吧我在啰嗦两句
xxxx.xxx.key 改成 dify.key
xxxx.xxx.crt 改成 dify.crt
docker-compose down
docker-compose up -d
然后访问你自己的域名就能调用到dify的页面咯
大功告成
看到这里了 不点赞 我下次能开付费了 😂
小程序对接dify +小程序定制页面api对接+ 微信智能客服绑定dify等在后边单独开文章啰嗦
秋名山跑完收工 感谢各位看官老爷光顾