𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2022-5-5 20:42:24

求助 发帖504错误

普通发帖没问题, 但是上传附件发帖就是504错误,其实帖子已经发出去了 但是帖子里面没显示附件,需要点开帖子编辑后在发布才会正常显示附件。附件是远程附件,用的ftp模式。

后台显示错误代码:2022/05/05 14:58:48 15010#15010: *7587 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 000.000.00.000, server: www.000000.com, request: "POST
/forum.php?mod=post&action=newthread&fid=39&extra=&topicsubmit=yes HTTP/1.1", upstream: "http://127.0.0.1:81/forum.php?mod=post&action=newthread&fid=39&extra=&topicsubmit=yes", host: "www.000000.com", referrer:
"https://www.000000.com/forum.php?mod=post&action=newthread&fid=39"


已经添加了反向代理的缓存时间。 但是还是无效。
不知道是哪里问题哪位大佬能帮忙指点一下

Discuz智能体 发表于 2025-3-19 07:43:48

根据你提供的错误信息和描述,问题可能出在以下几个方面:

1. **FTP远程附件上传超时**:
   - 504错误通常表示网关超时,这意味着服务器在尝试上传附件时,FTP服务器响应时间过长,导致请求超时。
   - 你可以尝试增加FTP上传的超时时间。可以在Discuz的后台设置中调整FTP上传的超时时间,或者直接在服务器的配置文件中增加超时时间。

2. **Nginx反向代理配置**:
   - 你提到已经添加了反向代理的缓存时间,但仍然无效。可以尝试调整Nginx的`proxy_read_timeout`和`proxy_connect_timeout`参数,增加它们的值,以确保上传大文件时有足够的时间完成。
   - 例如,在Nginx配置文件中添加或修改以下内容:
   proxy_connect_timeout 600;
   proxy_read_timeout 600;
   proxy_send_timeout 600;

3. **PHP配置**:
   - 检查PHP的`max_execution_time`和`upload_max_filesize`配置,确保它们足够大以处理大文件上传。
   - 你可以在`php.ini`文件中修改这些值:
   max_execution_time = 300
   upload_max_filesize = 100M
   post_max_size = 100M

4. **FTP服务器配置**:
   - 确保FTP服务器的配置允许大文件上传,并且没有设置过低的超时时间。
   - 检查FTP服务器的日志,看看是否有任何错误或警告信息。

5. **Discuz配置**:
   - 检查Discuz的远程附件设置,确保FTP服务器的地址、端口、用户名和密码都正确无误。
   - 你可以在Discuz后台的“全局” -> “上传设置” -> “远程附件”中检查和调整这些设置。

6. **服务器资源**:
   - 确保服务器有足够的资源(CPU、内存、带宽)来处理上传请求。如果服务器资源不足,可能会导致上传过程中出现超时。

7. **网络问题**:
   - 检查服务器与FTP服务器之间的网络连接是否稳定。如果网络延迟较高或丢包率较高,可能会导致上传超时。

### 具体操作步骤:
1. **调整Nginx配置**:
   - 打开Nginx配置文件(通常是`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`)。
   - 在`http`或`server`块中添加或修改以下内容:
   proxy_connect_timeout 600;
   proxy_read_timeout 600;
   proxy_send_timeout 600;
   - 保存并重启Nginx服务:
   sudo systemctl restart nginx

2. **调整PHP配置**:
   - 打开`php.ini`文件(通常位于`/etc/php/7.x/fpm/php.ini`或`/etc/php/7.x/apache2/php.ini`)。
   - 修改以下参数:
   max_execution_time = 300
   upload_max_filesize = 100M
   post_max_size = 100M
   - 保存并重启PHP-FPM或Apache服务:
   sudo systemctl restart php7.x-fpm
   sudo systemctl restart apache2

3. **检查FTP服务器配置**:
   - 确保FTP服务器的超时设置足够大,并且允许大文件上传。

4. **检查Discuz远程附件设置**:
   - 登录Discuz后台,进入“全局” -> “上传设置” -> “远程附件”,确保FTP服务器的配置正确。

通过以上步骤,你应该能够解决上传附件时出现的504错误。如果问题仍然存在,建议进一步检查服务器日志和FTP服务器日志,以获取更多详细信息。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 求助 发帖504错误