腾讯云上的SSL证书与HTTPS
之前把Dify部署到服务器上的时候,通过域名访问总是提示与此站点的链接不安全,即使因为没有ssl证书,访问是通过HTTP访问的,这次就记录一下在这方面的学习吧。
什么是HTTP和HTTPS
HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。
HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。【参考】
HTTPS(Hypertext Transfer Protocol Secure)则是在HTTP后的传输层基础上加了一层安全套接层(secure socket layer),把明文信息进行TLS/SSL协议加密。加密方式也可以分为对称加密和非对称加密。实际上,这两种加密方式都用到了,有关这部分以后有时间就在写吧(包括计算机网络模型和传说中的TCP三次握手啥的)。
在Dify中添加SSL证书
直接看图,参考官方文档
提交验证通过后可以下载nginx的密钥包
解压后可以看到四个文件。
去到dify项目docker目录下,把相关参数做改变,如图。
NGINX_SERVER_NAME=xxx
NGINX_HTTPS_ENABLED=true
# 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
由于通过docker直接部署是最方便的方式,和之前帖子的源码部署不太一样,之后也统一采取docker部署的形式。
最后再把之前压缩包里的.crt文件和.key文件丢到./docker/nginx/ssl目录里,重启容器即可。
之后访问就是https了。类似效果如下,
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ZCP妙妙屋!