解决局域网访问Dify却仅显示nginx页面的问题

为什么dify在本机可以正常访问,局域网通过ip访问却只看到欢迎使用nginx的提示,如果访问服务器ip/apps则直接提示404 Not Found。这是怎么回事该如何解决呢?文章中将一步步解决这些问题。

前言 

之前在服务器部署了dify,也在服务器的浏览器配置了dify,发现它可以发布一个聊天机器人,是通过http访问的。注意到这个聊天机器人在服务器本机可以访问,但在局域网内别的设备上却不能访问,提示404 Not Found之类的东西。然后又注意到,服务器本机ip就是dify页面,本机ip/app则是dify面板。但是局域网别的设备访问服务器ip,只看到欢迎使用nginx的提示,如果访问服务器ip/apps则直接提示404 Not Found。

对于上述问题,我在百度查询了一圈都没结果,因为大多数人就是直接在部署dify的机子上访问的。当然我知道有人配置了nginx,使得局域网访问dify不会显示nginx默认页面,而是正确跳转到dify,可惜我没找到这种教程,自己暂时也不会。关于这个我在配置iis的webdav时遇到过,我修改了一下iis默认网页,访问对应地址就会显示修改过的网页,但是加入后最就可以访问文件目录,或许nginx有类似的功能?暂不研究这个,我会用别的方法解决。

我在查询dify注意到,nginx端口是可以修改的,它的配置就在之前部署时复制的.env文件中(大概是靠近末尾),默认就是80和443。

尝试修改端口

nginx端口采用80和443,好处是访问http或https时可以不用手动加端口,坏处是可能会和其他服务冲突,导致nginx不能启动等等。这里有个问题,如果我在本机访问本机ip,其实就是在访问本机ip:80,然后正确跳转到dify了,但在局域网设备上访问服务器ip:80却仍然停留在nginx欢迎页。如果我将80改成别的页面,是否在别的设备访问服务器ip:别的端口,就正常了呢?我带着疑问试了试。

起初我是随意改的,80和443分别改成86和446,但是发现没有用,无法启动nginx。于是我想到了很多人习惯于将80和443改为8080和8443,我也这么改,然后重启nginx,居然成功了。

# defalut nginx port
EXPOSE_NGINX_PORT=80
EXPOSE_NGINX_SSL_PORT=443

所以nginx的端口我改成了这个:

EXPOSE_NGINX_PORT=8080
EXPOSE_NGINX_SSL_PORT=8443

问题解决

然后我在局域网其他电脑上访问服务器IP:8080,果然出现了dify的logo!!注意到服务器硬盘在满载,于是我等了一会,它自动跳转到了dify的install界面,接着自动跳到了signin页面,登陆后就是apps页面,也就是服务器IP:8080/apps页面,是dify的面板,到此一切正常。

然后我试了试其他页面,需要等加载(似乎dify会为不同的访问设备准备内容),加载后所有页面和功能都正常了。我访问之前创建的聊天助手,发现直接访问是404,于是我在地址中服务器IP后加上8080端口,果然聊天助手也能局域网访问了,并且可以和在服务器上一样调用知识库,完美!

到此问题解决,总结一下,解决局域网其他设备不能访问dify的最佳办法就是修改nginx端口,理论上不是默认的都行。

思考

关于端口的说明,我之前一直好奇电脑的端口可以设置成哪些值,比如为什么8443可以而446不可以。我在百度的dpsk中问了一下,算是了解了,25535以内都可以设置为端口,其中1024以内是计算机专用的,不建议从这里面选端口。所以可以从1024到25535范围内自选端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26246.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端】——设置菜单的未读状态

用户会接收消息,接收到消息后,需要把待完成的菜单状态改成未读(加上小红点提示) 例如菜单目录是这样的,需要完成的内容在页面 /test1 里面,但是不光是需要把子菜单 /test1 标记为未完成,其父菜单…

Linux-ftrace-双nop机制的实现

Linux 内核调试工具ftrace 之(NOP动态插桩的实现原理) ftrace 是 Linux 内核中的一种跟踪工具,主要用于性能分析、调试和内核代码的执行跟踪。它通过在内核代码的关键点插入探针(probe)来记录函数调用和执行信息。这对…

火山引擎 DeepSeek R1 API 使用小白教程

一、火山引擎 DeepSeek R1 API 申请 首先需要三个要素: 1)API Key 2)API 地址 3)模型ID 1、首先打开火山引擎的 DeepSeek R1 模型页面 地址:账号登录-火山引擎 2、在页面右下角,找到【推理】按钮&#…

在 Element Plus 的 <el-select> 组件中,如果需要将 <el-option> 的默认值设置为 null。 用于枚举传值

文章目录 引言轻松实现 `<el-option>` 的默认值为 `null`I 实现方式监听清空事件 【推荐】使用 v-model 绑定 null添加一个值为 null 的选项处理 null 值的显示引言 背景:接口签名规则要求空串参与,空对象不参与签名计算 // 空字符串“” 参与签名组串,null不参与签…

商业秘密维权有哪些成本开支?

企业商业秘密百问百答之六十三&#xff1a;商业秘密维权费用项目有哪些&#xff1f; 在商业秘密维权过程中&#xff0c;原告可能需要支付多种费用&#xff0c;一般费用项目包括&#xff1a; 1、诉讼费。诉讼费是向法院支付的费用&#xff0c;包括起诉费、案件受理费等。这些费…

StarRocks 在爱奇艺大数据场景的实践

作者&#xff1a;林豪&#xff0c;爱奇艺大数据 OLAP 服务负责人 小编导读&#xff1a; 本文整理自爱奇艺工程师在 StarRocks 年度峰会的分享&#xff0c;介绍了爱奇艺 OLAP 引擎演化及引入 StarRocks 后的效果。 在广告业务中&#xff0c;StarRocks 替换 ImpalaKudu 后&#x…

sql:order by盲注渗透练习

sql-labs靶场46关&#xff1a;order by注入 测试前注意打开小皮面板&#xff0c;打开apache和MySQL服务 http://127.0.0.1:8080/sqli-labs/ 注意端口不要写错 利用orderby注入技术进行排序操作&#xff0c;进而实现报错注入和盲注&#xff0c;最终通过Python脚本自动化提取…

我的世界开发模组的心得体会

最头疼的问题 本人也是小白&#xff0c;也就跟着ai学学怎么开发模组&#xff0c;不会的上网搜搜&#xff0c;但是目前最令我头疼的就是运行rundata和runcilent时的模块冲突&#xff0c;解决办法就是使用以下的build.gradle代码&#xff0c;不要接受人工智能的建议&#xff0c;…

使用pytorch和opencv根据颜色相似性提取图像

需求&#xff1a;将下图中的花朵提取出来。 代码&#xff1a; import cv2 import torch import numpy as np import timedef get_similar_colors(image, color_list, threshold):# 将图像和颜色列表转换为torch张量device torch.device(cuda if torch.cuda.is_available() el…

Redis的优势和特点

什么是redis Remote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统&#xff0c;是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储…

html+js 轮播图

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>轮播图示例</title><style>/* 基本样式…

STM32CubeMx DRV8833驱动

一、DRV8833驱动原理 ​ STBY口接单片机的IO口&#xff0c;STBY置0电机全部停止&#xff0c;置1才能工作。STBY置1后通过AIN1、AIN2、BIN1、BIN2 来控制正反转。 AIN1AIN2电机状态00停止1speed反转speed1正转11停止 其中A端&#xff08;AIN1与AIN2&#xff09;只能控制AO1与…

免费轻巧多功能 PDF 处理工具:转换、压缩、提取一应俱全

软件技术 今天要给大家分享一款超实用的 PDF 处理工具&#xff0c;它免费又轻巧&#xff0c;如同随时待命的得力小帮手&#xff0c;功能之强大超乎想象&#xff0c;真的值得大家收藏。 这款工具是绿色版软件&#xff0c;解压后开启&#xff0c;满满的 PDF 处理功能便映入眼帘…

【JAVA SE基础】抽象类和接口

目录 一、前言 二、抽象类 2.1 抽象类的概念 2.2 抽象类语法 2.3 抽象类特性 2.4 抽象类的作用 三、接口 3.1 什么是接口 3.2 语法规则 3.3 接口使用 3.4 接口特性 3.5 实现多接口 3.6 接口间的继承 四、Object类 4.1 获取对象信息&#xff08; toString() &…

C/C++动静态库的制作与原理 -- 静态库,动态库,目标文件,ELF文件,动态链接,静态链接

目录 1. 什么是库 2. 静态库 2.1 静态库的制作 2.2 静态库的使用 3. 动态库 3.1 动态库的制作 3.2 动态库的使用 4. 目标文件 5. ELF文件 6. ELF从形成到加载轮廓 6.1 ELF形成可执行 7.2 ELF可执行文件加载 7. 理解链接和加载 7.1 静态链接 7.2 ELF加载与进程地…

介绍下pdf打印工具类 JasperPrint

JasperPrint 工具类深度解析 JasperPrint 是 JasperReports 框架中实现 PDF 打印的核心载体类&#xff0c;其本质是 填充数据后的可打印报表对象&#xff0c;承担着从模板编译、数据填充到格式输出的全流程控制。以下从 7 个维度展开深度解析&#xff1a; 一、核心定位与生命周…

Python基于Django的网络课程在线学习平台【附源码】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

58、深度学习-自学之路-自己搭建深度学习框架-19、RNN神经网络梯度消失和爆炸的原因(从公式推导方向来说明),通过RNN的前向传播和反向传播公式来理解。

一、RNN神经网络的前向传播图如下&#xff1a; 时间步 t1: x₁ → (W_x) → [RNN Cell] → h₁ → (W_y) → y₁ ↑ (W_h) h₀ (初始隐藏状态) 时间步 t2: x₂ → (W_x) → [RNN Cell] → h₂ → (W_y) → y₂ ↑ (W_h) h₁ 时间…

【Qt-信号与槽】connect函数的用法

&#x1f3e0;个人主页&#xff1a;Yui_ &#x1f351;操作环境&#xff1a;Qt Creator &#x1f680;所属专栏&#xff1a;Qt 文章目录 1.信号和槽的概念1.1 信号的本质1.2 槽的本质1.3 补充说明2. 信号和槽的使用2.1 connect函数介绍2.2 connect函数的简单使用2.2.1 图形化方…

ESP32+Mixly-WiFi

#include <WiFi.h> #include <TimeLib.h> #include <NtpClientLib.h>int8_t timeZone 8; // 时区设置&#xff0c;东八区为8 const PROGMEM char *ntpServer "ntp1.aliyun.com"; // NTP服务器地址void setup(){Serial.begin(9600); //初始化串口…