Пассивный FTP на Windows Server 2008 R2 с помощью FTP-сервера IIS7

Во-первых, у Вас, кажется, есть амперсанд в неправильном месте. Вместо

/path/to/httpd -f /path/to/config < /dev/null >& /dev/null

Я ожидал бы

/path/to/httpd -f /path/to/config < /dev/null > /dev/null &

РЕДАКТИРОВАНИЕ - на самом деле, command >& file краткая форма command > file 2>&1. Я никогда не использовал краткую форму, таким образом, я неправильно понял намерение той конструкции.

Но я не сделал бы этого. Перенаправление STDIN и STDOUt к/dev/null является неправильным. Исключение STDERR является также неправильным. Выполнение этого к программе, которая помещает себя в режим демона, является неправильным. Если бы действительно необходимо было сделать это, то я сделал бы что-то как

nohup /path/to/httpd -f /path/to/config >/tmp/httpd.out 2>/tmp/httpd.err &

Но ожидайте, Apache может быть перезапущен путем отправки ему сигналов с помощью apachectl сценарий. Можно предупредить, чтобы Apache корректно перезагрузил, это - конфигурация, не отбрасывая существующие соединения, или можно предупредить, чтобы это перезапустило заново. Если все, что Вы делаете, изменяется, это - конфигурация, просто сделайте корректную перезагрузку. Я также использовал бы apachectl сделать a configtest.

Если Apache находится в нестандартном месте, необходимо все еще смочь использовать apachectl.

Если Вы не можете использовать apachectl, можно отправить SIGUSR1 (перезагрузка), или SIGHUP (перезапуск) сигнализирует к основному процессу httpd.

Если апач не работает, лучший способ запуститься, это при помощи /etc/init.d/apache start сценарий

Если apachectl и сценарии запуска не работают, потому что Вы переместили программы, я отредактировал бы те сценарии, существуют переменные, которые говорят, в каких каталогах исполняемые файлы находятся.

2
задан 13 April 2017 в 15:14
4 ответа

Вы пытались поместить FTP-сервер в DMZ вашего маршрутизатора, чтобы посмотреть, не тот ли маршрутизатор отбрасывает пакеты? Попробуйте это.

Также включите ведение журнала брандмауэра Windows (Панель управления -> Инструменты администратора -> Брандмауэр Windows и расширенная безопасность, щелкните правой кнопкой мыши «Брандмауэр Windows и расширенная безопасность» в консоли, перейдите в Свойства, затем включите ведение журнала там для отброшенных пакетов) просто чтобы проверить, может ли ваш компьютер за пределами сети запрашивать правильные порты.

0
ответ дан 3 December 2019 в 15:36

Изменение динамического диапазона портов в windows не поможет. Единственное, что он делает, это ограничивает, какой порт будет использоваться для клиентской стороны сокет-соединения.

Что вам нужно сделать, так это ограничить диапазон портов, используемых FTP-сервером IIS. На MSDN есть неплохая запись в блоге об этом, но вот основные моменты:

  • Если вы используете встроенный FTP-сервер, вам необходимо сначала установить «Совместимость с метабазой IIS 6. "роль службы (а также связанные инструменты для создания сценариев), а затем используйте следующую команду, чтобы установить правильное свойство метабазы:

    adsutil.vbs set / MSFTPSVC / PassivePortRange" 5500-5525 "

    • Если вы используете Загружаемый FTP-модуль IIS 7.5 (тот, который вы получаете с этой страницы), тогда все, что вам нужно, откройте сервер ' s в редакторе конфигурации и отредактируйте свойство «диапазон портов канала данных» в разделе «Поддержка брандмауэра FTP> Диапазон портов канала данных» в applicationHost.config.

Независимо от вышесказанного, вам все равно потребуется перенаправить весь диапазон портов на NAT шлюз для работы внешних подключений. Большинство устройств брандмауэра / NAT имеют встроенные помощники протокола для FTP, которые позволяют им идентифицировать команду PASV и реагировать соответствующим образом, но не все это делают (и обычно это не сработает, если вы используете нестандартный порт для команды FTP. channel).

PS Вам следует подумать об использовании протокола, отличного от FTP, если вы находитесь за NAT: вы не сможете заставить его работать без уродливых - и рискованных - обходных путей. Я предлагаю вам изучить SFTP или WebDAV.

вам все равно нужно будет перенаправить весь диапазон на вашем устройстве шлюза NAT для работы внешних подключений. Большинство устройств брандмауэра / NAT имеют встроенные помощники протокола для FTP, которые позволяют им идентифицировать команду PASV и реагировать соответствующим образом, но не все это делают (и обычно это не сработает, если вы используете нестандартный порт для команды FTP. channel).

PS Вам следует подумать об использовании протокола, отличного от FTP, если вы находитесь за NAT: вы не сможете заставить его работать без уродливых - и рискованных - обходных путей. Я предлагаю вам изучить SFTP или WebDAV.

вам все равно нужно будет перенаправить весь диапазон на вашем устройстве шлюза NAT для работы внешних подключений. Большинство устройств брандмауэра / NAT имеют встроенные помощники протокола для FTP, которые позволяют им идентифицировать команду PASV и реагировать соответствующим образом, но не все это делают (и обычно это не сработает, если вы используете нестандартный порт для команды FTP. channel).

PS Вам следует подумать об использовании протокола, отличного от FTP, если вы находитесь за NAT: вы не сможете заставить его работать без уродливых - и рискованных - обходных путей. Я предлагаю вам изучить SFTP или WebDAV.

(re using нестандартный порт для командного канала FTP).

PS Вам следует рассмотреть возможность использования другого протокола, чем FTP, если вы находитесь за NAT: вы не можете заставить его работать без уродливых - и рискованных - обходных решений. Я предлагаю вам изучить SFTP или WebDAV.

(re using нестандартный порт для командного канала FTP).

PS Вам следует рассмотреть возможность использования другого протокола, чем FTP, если вы находитесь за NAT: вы не можете заставить его работать без уродливых - и рискованных - обходных решений. Я предлагаю вам изучить SFTP или WebDAV.

0
ответ дан 3 December 2019 в 15:36

netsh advfirewall установить глобальный StatefulFtp enable

netsh advfirewall firewall добавить правило name = "FTP для IIS" service = ftpsvc action = allow protocol = TCP dir = in

0
ответ дан 3 December 2019 в 15:36

Для тех из вас, кто использует Windows сервер, размещенный с помощью облачной службы Microsoft Azure Cloud Service, если вы используете группу сетевой безопасности, вам также нужно создать там входящее правило, соответствующее диапазону портов, который вы установили, в разделе поддержки FTP Firewall Support в IIS.

.
0
ответ дан 3 December 2019 в 15:36

Теги

Похожие вопросы