Как nginx обрабатывает запросы
Как предотвратить обработку запросов без имени сервера Определение виртуального сервера по имени и IP-адресу Конфигурация простого сайта PHP |
Определение виртуального сервера по имени
nginx вначале решает, какой из серверов должен обработать запрос. Рассмотрим простую конфигурацию, где все три виртуальных сервера слушают на порту *:80:
server { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_name example.net www.example.net; ... } server { listen 80; server_name example.com www.example.com; ... }
В этой конфигурации, чтобы определить, какому серверу следует направить
запрос, nginx проверяет только поле “Host” заголовка запроса.
Если его значение не соответствует ни одному из имён серверов
или в заголовке запроса нет этого поля вовсе,
nginx направит запрос в сервер по умолчанию для этого порта. В вышеприведённой конфигурации сервером по умолчанию будет первый сервер,
что соответствует стандартному поведению nginx по умолчанию.
Сервер по умолчанию можно задать явно с помощью параметра
в директиве
listen:
server { listen 80 default_server; server_name example.net www.example.net; ... }
Параметрdefault_server
появился в версии 0.8.21. В более ранних версиях вместо него следует использовать параметрdefault
.
Следует иметь в виду, что сервер по умолчанию является свойством слушающего порта, а не имени сервера. Подробнее это обсуждается ниже.
Как предотвратить обработку запросов без имени сервера
Если запросы без поля “Host” в заголовке не должны обрабатываться, можно определить сервер, который будет их отклонять:
server { listen 80; server_name ""; return 444; }
Здесь в качестве имени сервера указана пустая строка, которая соответствует запросам без поля “Host” в заголовке, и возвращается специальный для nginx код 444, который закрывает соединение.
Начиная с версии 0.8.48 настройка server_name ""
является стандартной и может явно не указываться.
В более ранних версиях в качестве стандартного имени сервера
выступало имя машины (hostname).
Определение виртуального сервера по имени и IP-адресу
Рассмотрим более сложную конфигурацию, в которой некоторые виртуальные серверы слушают на разных адресах:
server { listen 192.168.1.1:80; server_name example.org www.example.org; ... } server { listen 192.168.1.1:80; server_name example.net www.example.net; ... } server { listen 192.168.1.2:80; server_name example.com www.example.com; ... }
В этой конфигурации nginx вначале сопоставляет IP-адрес и порт запроса с директивами listen в блоках server. Затем он сопоставляет значение поля “Host” заголовка запроса с директивами server_name в блоках server, которые соответствуют IP-адресу и порту.
www.example.com
, пришедший на порт
192.168.1.1:80, будет обработан сервером по умолчанию для порта
192.168.1.1:80, т.е. первым сервером, т.к. для этого порта www.example.com
не указан в списке имён серверов.Как уже говорилось, сервер по умолчанию является свойством слушающего порта, поэтому у разных портов могут быть определены свои серверы по умолчанию:
server { listen 192.168.1.1:80; server_name example.org www.example.org; ... } server { listen 192.168.1.1:80 default_server; server_name example.net www.example.net; ... } server { listen 192.168.1.2:80default_server; server_name example.com www.example.com; ... }
Конфигурация простого сайта PHP
Теперь посмотрим на то, как nginx выбирает location для обработки запроса на примере обычного простого PHP-сайта:
server { listen 80; server_name example. org www.example.org; root /data/www; location / { index index.html index.php; } location ~* \.(gif|jpg|png)$ { expires 30d; } location ~ \.php$ { fastcgi_pass localhost:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
nginx вначале ищет среди всех префиксных location’ов, заданных строками,
максимально совпадающий.
В вышеприведённой конфигурации
указан только один префиксный location “/
”, и поскольку
он подходит под любой запрос, он и будет использован, если других
совпадений не будет найдено.
Затем nginx проверяет location’ы, заданные регулярными выражениями, в
порядке их следования в конфигурационном файле.
При первом же совпадении поиск прекращается и nginx использует
совпавший location.
Если запросу не соответствует ни одно из регулярных выражений,
nginx использует максимально совпавший префиксный location,
найденный ранее.
Следует иметь в виду, что location’ы всех типов сопоставляются только с URI-частью строки запроса без аргументов. Так делается потому, что аргументы в строке запроса могут быть заданы различными способами, например:
/index.php?user=john&page=1 /index.php?page=1&user=john
Кроме того, в строке запроса можно запросить что угодно:
/index.php?page=1&something+else&user=john
Теперь посмотрим, как бы обрабатывались запросы в вышеприведённой конфигурации:
- Запросу “
/logo.gif
” во-первых соответствует префиксный location “/
”, а во-вторых — регулярное выражение “\.(gif|jpg|png)$
”, поэтому он обрабатывается location’ом регулярного выражения. Согласно директиве “root /data/www
” запрос отображается в файл/data/www/logo.gif
, который и посылается клиенту. - Запросу “
/index.php
” также во-первых соответствует префиксный location “/
”, а во-вторых — регулярное выражение “\.
”. Следовательно, он обрабатывается location’ом регулярного выражения и запрос передаётся FastCGI-серверу, слушающему на localhost:9000. Директива fastcgi_param устанавливает FastCGI-параметрSCRIPT_FILENAME
в “/data/www/index.php
”, и сервер FastCGI выполняет указанный файл. Переменная$document_root
равна значению директивы root, а переменная$fastcgi_script_name
равна URI запроса, т.е. “/index.php
”. - Запросу “
/about.html
” соответствует только префиксный location “/
”, поэтому запрос обрабатывается в нём. Согласно директиве “root /data/www
/data/www/about.html
, который и посылается клиенту. - Обработка запроса “
/
” более сложная. Ему соответствует только префиксный location “/
”, поэтому запрос обрабатывается в нём. Затем директива index проверяет существование индексных файлов согласно своих параметров и директиве “root /data/www
”. Если файл/data/www/index.html
не существует, а файл/data/www/index.php
существует, то директива делает внутреннее перенаправление на “/index.php
” и nginx снова сопоставляет его с location’ами, как если бы такой запрос был послан клиентом. Как мы видели ранее, перенаправленный запрос будет в конечном итоге обработан сервером FastCGI.
автор: Игорь Сысоев редактор: Brian Mercer |
Windows 7 – system занимает 80 порт? mycod.net
С проблемой столкнулся, когда давно не запускавшийся денвер при старте апача заголосил, что 80 порт занят. Денвер перевесил на другой порт, но суть не в этом.
netstat -ano говорит «TCP 127.0.0.1:80 127.0.0.1:60976 ESTABLISHED 4».
60976 порт периодически меняется, а процесс с pid’ом 4 – system.exe.
Собственно, вопрос: зачем system.exe занимает 80 порт, и как это вылечить?
ЗЫ localhost:8080 совсе не радует 🙁
Upd: Простите за ошибку, не System.
PAGE
03:04, 15th August, 2020
Нужно остановить (отключить) сервис:
Служба Web-публикаций
Обеспечивает соединения через сеть и управление ими с помощью диспетчера служб IIS
Освобождаются порты 80, 8080, и т.д.
P_S_S
02:30, 7th August, 2020
Отключаем из автозапуска службы:
— Служба удаленного агента для Microsoft Web Deploy 2. 0;
— Служба агента веб-развертывания.
Это компоненты IIS-сервера, устанавливаются, например, при использовании продуктов из Microsoft Web Platform.
lool
23:04, 9th August, 2020
Мне помогла остановка репортинг сервиса свежеустановленного MSSQL сервера. Тоже был в процессах как SYSTEM ID 4 и тупо листенил 80 порт.
COOL
21:06, 1st October, 2020
>>зачем system.exe занимает 80 порт
Чтобы вирус мог получать команды из внешнего мира.
>>и как это вылечить
Вылечить вирус.
Возьми live.sysinternals.com/procexp.exe найди где лежит этот System.exe и прибей его
SEEYOU
10:08, 24th August, 2020
Иногда в Windows по умолчанию активирована какая то служба которая занимает порт 80 с именем System и Process ID=4 — её нужно отключить через реестр. Запускаете Regedit и идете по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP и меняете значение Start на 0
Думаю можно и в Службах (Win+R, services.msc) отключить запуск HTTP-Клиент, Веб-Сервер, или как оно там называется.
piter
06:17, 3rd August, 2020
Хочу рассказать как я решил данную проблему.
Ибо все изложенное выше мне не помогло.У меня сборка winginx. Пропал в один день доступ на 80.
Открыл менеджер устройств. Выбрал пункт «показать скрытые устройства». Устройство http. И отключил его.
Все заработало.
Процесс system ни куда не делся.
Все что было предложено по реестру, делал. Но безрезультатно.
darknet
09:36, 17th August, 2020
Была такая же проблема, как оказалось на 80м порту висел skype.
SILA
14:42, 8th August, 2020
Скайп и тимвьюер, как я помню, могут занимать 80 порт.
Убирается в конфигах…park
11:35, 13th August, 2020
www.devside.net/wamp-server/opening-up-port-80-for…
dumai
21:16, 26th August, 2020
РЕШЕНО!
Нужно всего лишь перекинуть http.sys c IPv4 на IPv6
Написал краткую инструкция velestor.com/q/port80
У меня Windows 10, помог только этот вариант, всем удачи!
piter
06:28, 10th August, 2020
Была такая же проблема с запуском Open Server, ошибка не запускается невозможно занять порт 80 поскольку он уже используется: Cлужбы Windows.
Решил отключением службы IIS.
Панель управления -> Программы -> Включение или выключение компонентов Windows:
Найти Службы IIS -> Службы Интернета -> Безопасность -> снять галочку с Фильтрация запросов
OK -> подождать применения параметров …и радоваться (у меня на Windows 10 LTSB x64 без перезагрузки порт освободился — оно и логично служба остановлена — порт освобожден).
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться
Как проверить, открыт ли порт
Помощь 0 Регистрация Вход
- Домены
- Хостинг
- Выбор и заказ хостинга
- Работа с сайтом. Продвинутым пользователям
- Настройка переадресации (редиректа)
- Почта
- Проблемы в работе сайта
- Часто задаваемые вопросы
- Сайты
- Личный кабинет
- VPS и серверы
- SSL-сертификаты
- Общие вопросы
- Что такое порт
- Как проверить, открыт ли порт
В этой статье мы расскажем, что такое порт, какие они бывают и как проходит проверка порта на локальном и удаленном компьютере.
Вы можете узнать, открыт ли порт, с помощью нашего сервиса проверки доступности портов.
Что такое порт
Порт — это числовой идентификатор программы или процесса, который обслуживает сетевые соединения на заданном IP-адресе. Номера портов могут быть от 0 до 65 535.
Каждое устройство (компьютер, ноутбук, мобильный телефон и др.) имеет свой IP-адрес. Он дает возможность организовывать сетевые соединения между устройствами. Но на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Например, есть интернет-сервер с IP-адресом. На нем расположен: веб-сервер, почтовый сервер, FTP-сервер. Как сделать так, чтобы мы могли связаться именно с почтовым сервером? Для этого и нужен порт. Порты предоставляют возможность идентифицировать сетевые приложения на отдельно взятом компьютере.
Есть стандартные порты, такие как:
- порт 80 — для веб-сервера, который работает по протоколу HTTP,
- порт 443 — для защищенного SSL-сертификатом веб-сервера, который работает по протоколу HTTPS,
- порт 21 — для FTP-протокола (протокола передачи файлов).
Как проверить, открыт ли порт
Проверка порта на доступность возможна как для своего (локального) компьютера , так и для удаленного.
Как узнать, какие порты открыты на локальном компьютере в Windows
-
Вызовите командную строку сочетанием клавиш Win+R.
-
Введите команду «cmd» и нажмите ОК:
-
Пропишите команду netstat -a и кликните Enter:
Готово, перед вами список открытых портов на вашем компьютере.
Как узнать, какие порты открыты на удаленном компьютере
Провести проверку портов на открытость удаленного компьютера можно при помощи команды telnet.
Telnet — это утилита, с помощью которой можно соединиться с удаленным портом любого компьютера. Telnet позволяет установить связь, чтобы передавать команды и получать ответы (например, сделать проброс портов).
В Windows 7/8/10 и Vista утилита telnet отключена по умолчанию. Утилиту можно установить по инструкции.
Как проверить доступность порта с помощью команды telnet в Windows:
-
Вызовите командную строку сочетанием клавиш Win+R.
-
Введите команду «cmd» и нажмите ОК.
-
В окне терминала введите команду: telnet имя_сервера номер_порта (например, telnet mysite.ru 31).
Можно проверить порт на доступность по IP, если ввести команду telnet IP_сервера номер_порта (например, telnet 10.0.119.127 31).
-
Если на экране появится текст «“telnet” не является внутренней или внешней командой, исполняемой программой или пакетным файлом», то на вашем компьютере отключена утилита и ее надо установить по инструкции:
- Если экран станет полностью пустым или появится приглашение сервера, значит порт открыт:
Популярные статьи
- Как указать (изменить) DNS-серверы для домена
- Я зарегистрировал домен, что дальше
- Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
- Что такое редирект: виды и возможности настройки
- Как создать почту со своим доменом
Домены
- Регистрация доменов
- Освободившиеся домены
- Промоакции
- Перенос домена
- Переадресация
- Магазин доменов
Сайты
- Конструктор сайтов
- Сайты на WordPress
Хостинг сайтов
- Хостинг
- Windows хостинг
VPS и серверы
- VPS хостинг
- Windows VPS
- Аренда серверов
Дополнения
- SSL-сертификаты //=url(‘/free-mail’)?>
Сервисы
- Бесплатный хостинг
- Whois
- Связь с администратором домена
- Определить свой IP-адрес
- Проверка порта на доступность
- Узнать местоположение по IP
- Проверить доступность сайта
Поддержка
- Справка
- Стоимость услуг
- Способы оплаты
- Связаться с нами
Компания
- О компании
- Документы
- Офис
- Дата-центр
- Новости
- Блог
- Акции и скидки
© 2DOMAINS — регистрация доменов
- Домены оптом
- Географические домены
- Кириллические домены
- Административные домены
- Национальные домены
- Новые домены первого уровня
- Где купить домен дешево
- Дешевый хостинг
- CloudVPS
- Хостинг для сайта-визитки
- Хостинг с PHP и MySQL
- Надежный хостинг
- Самые дешевые домены
- Хостинг WordPress
- Хостинг для 1С-Битрикс
- Хостинг для Drupal
- Хостинг для Joomla
- Хостинг для MODX
- Хостинг для OpenCart
- Антивирус для хостинга
- Бэкап сайта
- Защита от DDoS-атак
- Хостинг с ISPmanager
- SSL бесплатно
- AlphaSSL
- AlphaSSL WildCard
- ExtendedSSL
- GlobalSign-сертификаты
- Comodo / Sectigo — сертификаты
- GeoTrust-сертификаты
- Symantec-сертификаты
- Thawte-сертификаты
- TrustWave-сертификаты
- Wildcard-сертификаты
Политика обработки
персональных данных
Тех. поддержка: [email protected]
Указанные на сайте цены могут не включать стоимость применимых комиссий.
При заказе услуги стоимость может быть уточнена исполнителем.
Разница между портом 80 и портом 8080
Прежде чем понять разницу между портом 80 и портом 8080, давайте узнаем о портах и сокетах
Все в этой вселенной, которое подключено через Интернет, имеет адрес, который мы назвали адресом сокета. . Этот адрес сокета
уникален во всем мире. Адрес сокета представляет собой комбинацию IP-адреса
и номера порта .
Socket однозначно идентифицирует TCP-соединение.
IP-адрес помогает обнаружить устройства в Интернете или локальной сети. Номер порта помогает обнаружить процесс, запущенный на устройствах. Номер порта считается конечной точкой связи. С его помощью мы можем найти, где сообщение было запрошено на сервер. 16 = от 0 до 65535 портов.
- Из порта 0 -1023 общеизвестных портов или системных портов . Он назначен и контролируется IANA.
- Порты 1024 - 49151 являются пользовательскими или зарегистрированными портами . Они не назначаются и не контролируются, а регистрируются только IANA.
- И порт выше 49151 является частным портом , динамическим портом или временным портом . Они не зарегистрированы и не контролируются IANA.Port 80
Читайте также: .com и .net
Порт 80
Порт 80 является наиболее часто используемым портом в TCP. Веб-браузер по умолчанию использует порт 80 для отправки и получения страниц с веб-сервера. Этот сайт: ourtechroom.com, похоже, не имеет порта, но браузер автоматически запрашивает веб-сервер как ourtechroom.com:80, и веб-сервер понимает, что он запрашивает порт 80, и возвращает страницы или данные обратно в веб-браузер. . Таким образом, когда вы заходите в браузер и набираете: ourtechroom.com:80, вы получите тот же ответ, что и при вводе в браузере ourtechroom.com.
Примечание. Порт 80 используется по умолчанию для незашифрованного HTTP-трафика.
Порт 8080
Порт 8080 — это порт, который обычно используется веб-серверами для установления TCP-соединений, если порт 80 по умолчанию занят. Как правило, порт 8080 выбирается веб-сервером как наилучшая альтернатива 80, потому что он имеет два порта 80 и находится выше общеизвестного порта с ограниченным доступом. Итак, здесь порт 8080 переопределяет порт службы по умолчанию, который подразумевается протоколом HTTP, мы помещаем двоеточие (:) после части имени домена, за которым следует порт 8080, который мы хотим использовать.
пример: http://ourtechroom.com:8080
Обратите внимание, что два порта с одним и тем же IP не существуют одновременно. Но существует два порта с разными IP-адресами/именами хостов. Предположим, вы размещаете свое веб-приложение на порту 8080, тогда пользователю потребуется перейти, например, на http://xyz.com:8080 для домена xyz.com, чтобы получить доступ к веб-странице. Вы можете разместить несколько веб-сайтов на одном сервере, которые используют один и тот же порт, потому что весь адрес сокета различен.
Читайте также: Что такое localhost:8080?
Порт 80 и порт 8080
Порт 80 | Порт 8080 |
Порт по умолчанию для HTTP-запроса | Альтернативный порт для HTTP-запросов. |
Когда вы вводите только доменное имя в URL-адресе, он запрашивает порт 80 для веб-сервера. | Вы должны ввести имя домена вместе с портом 8080, чтобы запросить веб-сервер для вызова процесса/программы. |
Порт 80 — хорошо известный порт. | Порт 8080 является пользовательским или зарегистрированным портом |
Порт 80 назначен и контролируется IANA | Порт 8080 зарегистрирован и контролируется IANA, но зарегистрирован IANA. |
Пример: ourtechroom.com и ourtechroom.com:80 — это одно и то же. Аналогично, localhost и locahost:80 — это одно и то же. | Пример:ourtechroom.com и ourtechroom.com:8080 различны. Точно так же различаются localhost и localhost:8080. |
Большинство сетей и брандмауэров не блокируют трафик, проходящий через порт 80 | Сети и брандмауэры блокируют трафик, проходящий через порт 8080, поэтому мы должны включить правила для запросов в брандмауэре, чтобы отправлять/получать запросы |
Читайте также : Все о домене .dev
Другими альтернативами HTTP по умолчанию, назначенными IANA, являются 591,8008 и 8080. (источник)
Часто задаваемые вопросы:
Является ли порт 8080 безопасным портом?
Ответ: Мы не можем сказать, защищен порт или нет, просто взглянув на него. В результате порт 80 или 8080 по умолчанию небезопасен. Чтобы защитить порт, мы должны добавить сертификат SSL.
Какой порт следует использовать для моего веб-сайта?
Ответ: По умолчанию стандартный порт для веб-сайта — 80.
Например: при вводе: http://stackoverflow.com:80 вы попадете на веб-сайт stackoverflow.com.
Можем ли мы закрыть порт 80?
Ответ: Да, можем, но это плохая идея с точки зрения безопасности. Вы никогда не должны закрывать порт 80, если вы хотите обслуживать безопасный трафик только через HTTPS и порт 443. В большинстве брандмауэров он включен по умолчанию. Порт 80 в основном используется для незашифрованного веб-трафика.
Порт 80/TCP или UDP?
Порт 80 — это TCP-порт. Он используется для просмотра веб-страниц в браузере.
Являются ли http://ourtechroom.com:80 и http://ourtechroom.com:8080 одинаковыми?
Окончательный ответ – нет. http://ourtechroom.com и http://ourtechroom.com:80 эквивалентны. Это указывает на то, что наш techroom.com размещен на порту 80 по умолчанию.
Если мой веб-сайт настроен для работы на порту 8080 вашего веб-сервера, тогда пользователю нужно будет ввести: http://ourtechroom.com:8080 в свои веб-браузер для просмотра этого веб-сайта.
Поскольку большинство людей не помнят порт 8080 или другие порты, большинство веб-сайтов размещаются на порту 80. П. Ооммен
Содержание
- 1 Обзор
- 2 Симптомы
- 3 Разрешение
- 9 018 Блокировка процесса0007 3.2 Остановить процесс, блокирующий порт 80
- 3.3 Перенастроить Apache для работы на другом порту
- 3.4 Перенастроить блокирующее приложение
Обзор
«Порт 80 в use» — распространенная, но неприятная ошибка, которая может поймать нового веб-разработчика. неохраняемый. В этой статье описывается, как устранить эту ошибку в Windows машина ХР.
Симптомы
Когда ты попробуйте запустить веб-сервер Apache на своем компьютере, вы получите следующую ошибку:
(OS 10048) Обычно разрешено только одно использование каждого адреса сокета (протокол/сетевой адрес/порт). : make_sock: не удалось выполнить привязку к адресу 0.0.0.0:80 нет доступных прослушивающих сокетов, завершение работы
Не удалось запустить Apache
Нажмите любую клавишу, чтобы продолжить. . .
Рисунок 1 – Apache не может работать на порту 80
Причина этой ошибки в том, что какое-то другое приложение уже используя порт 80. Только одно приложение может прослушивать порт в данный момент времени, поэтому Apache не может привязаться к этому порту. Поскольку порт 80 является портом по умолчанию для http, наиболее вероятная причина в том, что другой веб-сервер (например, IIS) работает на вашем компьютере. Однако некоторые другие приложения также могут блокировать порт 80. Одним из хороших примеров является Skype.
Разрешение
Найдите блокирующий процесс порт 80
Часто это просто, в большинстве случаев вы можете угадать приложение, поскольку веб-сервер (например, IIS) является обычным подозреваемым. Если вы не знаете, какой процесс блокирует порт, выполните следующие шаги:
а. Откройте командную строку и введите netstat –anb. Это даст вам список всех процессов, прослушивающих различные порты на вашем компьютере.
б. Найдите приложение, использующее порт 80. На моем компьютере это inetinfo.exe.
Рисунок 2 – Найдите блокирующее приложение с помощью NetStat
c. Иногда имя процесса может не отображаться. В этом случае обратите внимание на идентификатор процесса (столбец PID). Идентификатор процесса — это уникальный номер, который Windows использует для идентификации любого процесса, работающего на компьютере. В моем случае это 292.d. Теперь откройте диспетчер задач Windows. Выберите столбец идентификатора процесса в View->Select columns, как показано ниже
Рисунок 3А – Выберите столбцы в диспетчере задач Windows
Рисунок 3B – Выберите PID (Идентификатор процесса) и нажмите OK.
Рисунок 3С – Найдите блокирующий процесс в диспетчере задач Windows.
эл. Если вы все еще не уверены в процессе, просто выполните поиск в Google на имя процесса или посетите сайт, например Uniblue ProcessLibrary (http://www.liutilities.com/products/wintaskspro/processlibrary/) для поиска процесса.
Остановить блокировку процесса порт 80
Это очевидное решение проблемы. Например, если вы хотите остановить IIS,
a. Откройте меню «Пуск» -> «Панель управления»
б. Открыть инструменты администрирования
c. Открытые информационные службы Интернета
d. Выберите Веб-сайты->Веб-сайт по умолчанию e. Нажмите кнопку «Стоп» на панели инструментов.
Рисунок 4 — Остановить IIS порт
Возможно, вы захотите выбрать этот путь, если не хотите закрыть порт 80, блокирующий приложение. Типичной причиной может быть то, что вы хотите запустить, скажем, Apache и IIS на одном компьютере одновременно.
1. Кому настройте Apache для работы на другом порту, откройте <ваш папка apache>/conf/httpd.conf в блокноте. Найдите следующие строки:
а. Слушайте 80
б. ServerName localhost:80
Измените обе эти строки, чтобы другое число вместо 80. Я выбрал 8000 вместо 80. Убедитесь, что что это свободный порт, не используемый никакими приложениями.
а. Слушайте 8000
б. ServerName localhost:8000
Рис. 5 . Повторная настройка Apache (httpd.conf)
2. Сейчас запустить апач. Он должен успешно запуститься. Ваш веб-сайт по умолчанию должен быть доступен по адресу http://localhost:port
Перенастроить блокировку application
Иногда вам может понадобиться перенастроить блокирующее приложение вместо самого Apache. Выбор подхода зависит от приложения, которое вы пытаетесь перенастроить. Например, если вы хотите перенастроить IIS для работы на другом порту, сделайте это следующим образом:
а. Откройте интерфейс IIS, как обсуждалось выше.
б. Щелкните правой кнопкой мыши Веб-сайт по умолчанию и выберите Свойства
Рисунок 6A – Открытие свойств веб-сайта по умолчанию (IIS)
Рисунок 6B – Диалоговое окно свойств для IIS по умолчанию Веб-сайт.
в. Измените порт IIS с 80 на другое значение и нажмите OK.
д. В настоящее время Запустите ИИС. Он должен успешно запуститься. Ваш веб-сайт по умолчанию должен быть доступен по адресу http://localhost:port
Подключение к экземпляру Amazon EC2 через порты HTTP или HTTPS
Последнее обновление: 26 сентября 2022 г.
Я размещаю свой веб-сайт в экземпляре Amazon Elastic Compute Cloud (Amazon EC2). Я хочу, чтобы пользователи подключались к моему сайту по HTTP (порт 80) или HTTPS (порт 443). Как я могу это сделать?
Чтобы разрешить трафик через порты 80 и 443, необходимо настроить соответствующую группу безопасности и список контроля доступа к сети (сетевой ACL).
Правила группы безопасности
Для HTTP-трафика добавьте входящее правило для порта 80 с исходного адреса 0.0.0.0/0.
Для трафика HTTPS добавьте правило для входящего трафика на порт 443 с исходного адреса 0.0.0.0/0.
Эти правила для входящего трафика разрешают трафик с адресов IPv4. Чтобы разрешить трафик IPv6, добавьте входящие правила на те же порты с исходного адреса ::/0. Дополнительные сведения о создании или изменении групп безопасности см. в статье Управление трафиком к ресурсам с помощью групп безопасности.
Группы безопасности сохраняют состояние, поэтому обратный трафик от экземпляра к пользователям разрешается автоматически. Вам не нужно изменять исходящие правила группы безопасности.
Примечание . В следующем примере показаны правила группы безопасности для разрешения трафика IPv4 и IPv6 на портах TCP 80 (HTTP) и 443 (HTTPS). Определите, должны ли быть разрешены для вашего варианта использования другие источники трафика, такие как SSH или RDP для входа в экземпляр. Затем убедитесь, что ваша SG имеет соответствующие правила для входящего трафика, разрешающие необходимый трафик.
Правила входящего трафика
Сетевой список контроля доступа
Сетевой ACL по умолчанию разрешает весь входящий и исходящий трафик IPv4. Если ваши пользователи подключаются через IPv6, а ваше виртуальное частное облако Amazon (Amazon VPC) имеет связанный блок IPv6 CIDR, то ваш сетевой ACL по умолчанию также автоматически добавляет правила, разрешающие весь входящий и исходящий трафик IPv6. Однако если вы используете собственный сетевой ACL с более строгими правилами, вы должны явно разрешить трафик на портах 80 и 443.
Сетевые ACL не имеют состояния, поэтому необходимо добавить как входящие, так и исходящие правила, чтобы разрешить подключение к вашему веб-сайту. Дополнительные сведения об изменении правил сетевых ACL см. в разделе Управление трафиком в подсети с помощью сетевых ACL.
Примечание . В следующем примере показан настраиваемый список управления доступом к сети, который разрешает трафик через TCP-порты 80 (HTTP) и 443 (HTTPS). Сетевые ACL применяются ко всем ресурсам во всей подсети, а не только к одному экземпляру EC2. В примере конфигурации блокируется весь входящий и исходящий трафик ресурсов в одной и той же подсети, за исключением портов назначения 80 и 443. Определите, должны ли другие источники трафика, такие как SSH или RDP для входа в экземпляр, быть разрешены для вашего вариант использования. Затем убедитесь, что у вас есть соответствующие правила для входящего трафика, чтобы разрешить необходимый трафик.
Правила входящего трафика
Правила исходящего трафика
Устранение неполадок, связанных с ошибкой отказа в подключении
Ошибка , в которой отказано в подключении , означает, что запрос на подключение направляется в экземпляр, но не получен от службы на указанном порту. Если узел A инициирует TCP-соединение с узлом B и получает сообщение об ошибке , в соединении отказано , то эта ошибка означает следующее:
- Сначала узел A отправил пакет TCP SYN узлу B.
- Затем узел B отправил пакет TCP RST в ответ на узел A.
Если вы столкнулись с этой ошибкой даже после разрешения TCP-портов 80 и 443 в группе безопасности и сетевом ACL, устраните следующие неполадки:
- Демон службы, такой как httpd (Apache), не запущен или остановленное состояние.
Для устранения неполадок проверьте, находится ли служба в рабочем состоянии в экземпляре EC2.
- Служба прослушивает неправильный порт.
Для устранения неполадок проверьте, прослушивает ли экземпляр EC2 требуемый TCP-порт (80/443).
- Порт заблокирован брандмауэром.
Для устранения неполадок проверьте, не блокирует ли брандмауэр уровня ОС в экземпляре EC2 входящий TCP-трафик через требуемый порт.
Помогла ли эта статья?
Отправить отзыв
Вам нужна биллинговая или техническая поддержка?
Обратитесь в службу поддержки AWS
Войдите в консоль
Узнайте об AWS
- Что такое AWS?
- Что такое облачные вычисления?
- AWS Разнообразие, равенство и инклюзивность
- Что такое DevOps?
- Что такое контейнер?
- Что такое озеро данных?
- Облачная безопасность AWS
- Что нового
- Блоги
- Пресс-релизы
Ресурсы для AWS
- Начало работы
- Обучение и сертификация
- Портфолио решений AWS
- Архитектурный центр
- Часто задаваемые вопросы по продуктам и техническим вопросам
- Аналитические отчеты
- Партнеры AWS
Разработчики на AWS
- Центр разработчиков
- SDK и инструменты
- . NET на AWS
- Python на AWS
- Java на AWS
- PHP на AWS
- JavaScript на AWS
Помощь
- Свяжитесь с нами
- Подать заявку в службу поддержки
- Центр знаний
- AWS re:Сообщение
- Обзор поддержки AWS
- Юридический
- Карьера в AWS
Amazon является работодателем с равными возможностями: Меньшинства / Женщины / Инвалидность / Ветеран / Гендерная идентичность / Сексуальная ориентация / Возраст.
- Конфиденциальность
- |
- Условия сайта
- |
- Настройки файлов cookie
- |
- © 2022, Amazon Web Services, Inc. или ее дочерние компании. Все права защищены.
Поддержка AWS для Internet Explorer прекращается 31.