Назад | Перейти на главную страницу

Невозможно выполнить POST / загрузить файлы на страницу PHP

У меня возникает странная проблема, когда я пытаюсь опубликовать содержимое или загрузить файлы с помощью php на свой сервер.

После отправки формы она какое-то время спит, затем показывает ошибку загрузки страницы. Я пробовал разное содержимое и файлы с разными размерами и обнаружил, что он может публиковать / загружать содержимое / файлы только размером менее 530 байт! (примерно).
Я могу загружать / публиковать сообщения на других сайтах, поэтому я почти уверен, что проблема где-то на сервере.

Сервер подключен к Интернету через соединение PPPoE, и раньше у меня были проблемы с FTP, которые я решил, уменьшив MTU сервера до 1460, однако теперь даже изменение MTU не помогает.

Когда я слежу за сетью через WireShark, отображаются следующие строки (ошибка контрольной суммы и плохой TCP).

1170    53.165583000    192.168.1.2 78.39.102.77    TCP 1506    [TCP segment of a reassembled PDU]

1293    57.661244000    192.168.1.2 78.39.102.77    TCP 1506    [TCP Retransmission] 60849 > http [ACK] Seq=1 Ack=1 Win=66792 Len=1452

в деталях строк говорится, что ошибка возникает в IP-пакетах и ​​в основном из-за неправильной контрольной суммы (ее 0x0000), и предполагается, что это может быть вызвано функцией разгрузки контрольной суммы TCP / IP.

Может ли это быть связано с моей проблемой? Если да, то как мне это решить? Отключить контрольные суммы? Сменить сетевую карту? Что-то другое?


Обновление: я отключил контрольную сумму ip на своем компьютере (клиенте), и теперь я вижу другое сообщение о повторной передаче TCP, которое, как предполагается, является причиной проблемы.

[This frame is a (suspected) retrasmission]

под

[TCP Analysis Flags]

мне кажется это ошибка перегрузки, но я не знаю как ее решить

НЕ ОТКЛЮЧАЙТЕ ПРОВЕРКУ TCP.

Ваш стек TCP должен автоматически обрабатывать восстановление, хотя это снизит пропускную способность сети. Если вы можете воспроизвести ту же ошибку, значит, имеется очень серьезный дефект в стеке TCP отправляющей или принимающей машины или что-то среднее между ними. Вы запускали wirehark на обоих концах?

У вас настроена разгрузка TCP на отправляющей стороне? Вы пробовали его выключить?

Это NAT через маршрутизатор или HTTP-прокси?

Я хотел бы думать, что некоторые в Sirjan Universoty of Technology смогут дать вам более конкретный совет о том, как настроена их система, чем здесь, о сбоях сервера.

Я догадался, что проблема в перегрузке TCP, поэтому я следил за настройкой параметров TCP и увеличил tcp_wmem, tcp_rmem, wmem_max ... и перезапустил сервер.

до сих пор я все еще не сталкивался с проблемой

Здесь я должен указать, поскольку WireShark захватывает пакеты tcp до того, как они проходят через NIC, если контрольная сумма вычисляется в NIC, то неправильная контрольная сумма в WireShark обычно не является реальной проблемой.