Могу ли я сделать свой сайт доступным по всему миру без аренды хостинг-сервера?


8

Я знаю, что этот вопрос является основным, но я из iOS, а также новичок. Мне нужен четкий вывод о некоторых моих путаницах.

Я получил много ответов на этот вопрос, имеющий противоречие. Я искал в Google об этом вопросе. Некоторые говорят, что для того, чтобы сделать ваш сайт доступным в интернете, вам обязательно нужно будет:

(1) Разместите свой веб-сайт на хостинг-серверах, таких как Amazon, GoDaddy, BigRock…

(2) Получить доменное имя для вашего веб-сайта. Принимая во внимание, что некоторые говорят, что вы можете разместить сайт на своем собственном сервере и сделать его доступным по всему миру. В этом конкретном случае клиент будет запрашивать через IP вместо имени домена.

У меня вопрос, могу ли я сделать сайт и сделать его общедоступным по всему миру на следующих условиях:

  • Вместо размещения сайта на хостинг-провайдере, таком как Amazon, разместите его на моем собственном сервере. Не имеет значения пропускная способность, производительность, время безотказной работы.
  • Я не хочу доменное имя. Неважно, что люди заходят на мой сайт, используя мой публичный ip, например, 123.456.789.0 - просто добавив это условие из-за любопытства.

Заранее спасибо !!!

Ответы:


12

Вы можете разместить сайт в домашней системе, если хотите. Однако есть одна оговорка. Некоторые интернет-провайдеры не разрешают своим клиентам размещать свои собственные серверы, в то время как другие разрешают вам делать это. Интернет-провайдер, который не позволяет домашним пользователям размещать свои собственные серверы, может блокировать трафик на портах, обычно используемых серверами. Например, он может помешать кому-либо запускать собственный почтовый сервер, блокируя соединения из Интернета с портом 25 на IP-адресах, которые он назначает домашним пользователям. Аналогичным образом это может помешать кому-либо разместить свой собственный веб-сервер, заблокировав порт по умолчанию, используемый для HTTP , порт 80 и порт по умолчанию, используемый для HTTPS., порт 443. Кто-то может обойти такой блок, запустив веб-сервер на нестандартном порту. Например, если веб-сервер был настроен на прослушивание HTTP-подключений через порт 7080, если бы вы могли предоставить этот номер всем, кто может посетить ваш сайт, они все равно могут получить доступ к серверу. Например, вместо использования http://www.example.com/sompage.html или http://10.0.0.5/somepage.html посетители веб-сайта могут использовать http://www.example.com:7080/. somepage.html или http://10.0.0.5/sompage.html . Хотя даже этот трафик может быть заблокирован провайдером.

Это решение может сработать, если вы ожидаете, что ваш сайт будет посещать всего несколько друзей, но может оказаться более проблематичным, если вы надеетесь иметь всемирную интернет-аудиторию для вашего сайта, так как большинство людей не привыкли включать номер порта при посещении сайт. Однако, если вы ссылаетесь на свой сайт с других сайтов, при условии, что номер порта указан, ссылка будет работать.

Но предположим, что провайдер не помешает вам разместить свой собственный веб-сервер. Вам потребуется настроить маршрутизатор для пересылки трафика, предназначенного для порта HTTP по умолчанию, и, возможно, HTTPS, если вы также будете использовать этот протокол, на внутренний частный IP-адрес веб-сервера в вашей локальной сети (LAN) . Это необходимо, потому что у большинства домашних пользователей есть маршрутизатор, выполняющий преобразование сетевых адресов для связи между системами за маршрутизатором на стороне локальной сети и системами на внешней стороне, обращенной к Интернету, маршрутизатора, то есть глобальной сети (WAN). ) . Т.е. у них есть один внешний публичный IP-адрес для маршрутизатора, но может быть несколько частных IP-адресовдля систем за маршрутизатором. Например, у вас может быть ноутбук с адресом 192.168.0.4 и настольная система с IP-адресом 192.168.0.5 за маршрутизатором. Эти частные IP-адреса не маршрутизируются через Интернет. Домашний маршрутизатор обычно выполняет NAT, чтобы позволить внешним системам, которые видят только один публичный IP-адрес, обмениваться данными с системами за маршрутизатором с частными IP-адресами.

Большинство домашних маршрутизаторов предоставляют возможность выполнять преобразование сетевых адресов и адресов портов, и обычно это довольно просто настроить, вам просто нужно знать, что вы должны это сделать. Некоторые маршрутизаторы могут иметь настройку демилитаризованной зоны (DMZ), которая позволяет вам указать, что любые подключения, исходящие из-за пределов маршрутизатора, идут к определенной системе внутри маршрутизатора. Если вы хотите, чтобы ваш домашний сервер был доступен через NAT / PAT, вам, вероятно, потребуется назначить ему статический IP-адрес, а не тот, который может измениться, поскольку он назначен через протокол динамической конфигурации хоста (DHCP) , поэтому маршрутизатор всегда может маршрутизировать входящие соединения в нужную систему.

В дополнение к возможному изменению IP-адреса систем на внутренней стороне вашего маршрутизатора, если вы используете подключение к домашней сети, ваш интернет-провайдер, вероятно, также назначит внешний IP-адрес маршрутизатора через DHCP. Допустим, это xxx.xxx.10.250. Завтра это может быть xxx.xxx.10.251. Это зависит от «времени аренды», которое поставщик услуг Интернета использует для назначения IP-адресов через DHCP своим клиентам. Время аренды может составлять несколько часов, несколько дней, месяц и т. Д. Итак, если вы сообщаете людям, что ваш веб-сервер доступен по адресу xxx.xxx.10.250, при каждом его изменении вам нужно будет сообщить им новый адрес. Хотя для некоторых систем, даже если ваш интернет-провайдер может не предоставить вам статический IP-адрес, а вместо этого предоставить динамический, он может остаться прежним, пока вы не замените маршрутизатор. Например, для моего домашнего интернет-сервиса я неMedia Access Control адрес от нового маршрутизатора.

Даже если ваш IP-адрес часто меняется, вы можете приобрести статический IP-адрес у интернет-провайдера. Некоторые будут продавать статический IP-адрес домашним пользователям за ежемесячную плату, а многие - нет.

Но решение, которое я использую, когда мне нужно иметь возможность подключиться к системе домашнего пользователя для устранения неполадок или настроить домашний сервер, заключается в использовании динамической системы доменных имен . Это позволяет вам получить доступ к домашнему серверу, используя полное доменное имя (FQDN) , например martijn.example.com, даже если внешний IP-адрес маршрутизатора меняется. Я пользуюсь No-IP.com , но есть и другие сервисы DDNS. Принцип работы DDNS заключается в том, что вы устанавливаете программное обеспечение в системе на внутренней стороне локальной сети маршрутизатора, который периодически обменивается данными с системой провайдера услуг DDNS, чтобы поставщик DDNS знал текущий внешний IP-адрес, с которого система обменивается данными. , Затем провайдер DDNS обновляет свою систему доменных имен (DNS)серверы, которые являются серверами, которые преобразуют полные доменные имена, такие как martijn.example.com, в IP-адреса, чтобы отобразить текущий внешний IP-адрес для вашего маршрутизатора. Поэтому любой, кто разместит martijn.example.com в своем браузере, будет направлен на правильный IP-адрес. Некоторые маршрутизаторы имеют опцию конфигурации, которая позволяет вам указывать поставщика услуг DDNS, поэтому вам может даже не потребоваться устанавливать какое-либо программное обеспечение в домашней системе для его работы; вам просто нужно иметь учетную запись у провайдера DDNS.

Поставщики DDNS будут взимать с вас плату за использование вашего собственного доменного имени, например martijn.com, если вы хотите приобрести собственное доменное имя. Но вы даже можете использовать службу DDNS бесплатно, например, No-IP предоставляет бесплатную услугу , если вы хотите использовать доменное имя, предоставленное поставщиком DDNS. Например, если провайдеру принадлежит example.com, вы можете бесплатно пользоваться martijn.example.com, хотя вам придется заплатить за martijn.com. Т.е. вы можете указать конкретное имя хоста, например martijn, для использования с одним из их доменных имен.

Я использовал такую ​​конфигурацию для домашнего веб-сайта в течение многих лет. Если у вас достаточно надежное интернет-соединение, и ваш интернет-провайдер не блокирует доступ к домашним серверам, он может действительно работать достаточно хорошо для сайтов с низким трафиком. Например, если вы не ожидаете, что на ваш сайт будет приходить более нескольких сотен посетителей каждый день, и вы еще не насыщаете свою доступную пропускную способность. Но есть некоторые соображения, о которых вы должны знать, т. Е. Те, о которых я упоминал выше, при настройке домашнего сервера, что может побудить некоторых рекомендовать использовать хостинг.

Хотя такую ​​конфигурацию можно использовать даже для малого или домашнего бизнеса, я не рекомендовал бы ее для малого или домашнего бизнеса, если доступ к вашему веб-сайту имеет решающее значение, если ваш внешний IP-адрес может часто меняться, так как когда кто-то при посещении вашего сайта их система будет кэшировать ваш IP-адрес, чтобы в следующий раз, когда они посещают сайт, система не должна снова искать IP-адрес, соответствующий имени. Есть время жить (TTL)значение для таких кэшированных записей DNS, поэтому срок их действия истекает, и система снова ищет IP-адрес, но они могут оставаться в системе в течение многих минут или даже часов. И другие DNS-серверы также кешируют записи. Например, предположим, что Мэри является клиентом Comcast, чья система подключается к martijn.example.com. Ее система может запросить DNS-серверы Comcast, чтобы получить IP-адрес для веб-сайта. Итак, теперь серверы Comcast знают IP-адрес, который соответствует FQDN. Другой клиент Comcast, Билл, также хочет посетить ваш сайт. Он никогда не посещал ваш сайт раньше, поэтому его система не кэшировала трансляцию между martijn.example.com и его IP-адресом, но когда его система запрашивает сервер Comcast DNS, если этот сервер уже знает адрес, связанный с Полное доменное имя, оно предоставит ответ из своего кэша.

Таким образом, если ваш IP-адрес изменится, даже если ваш сервер или маршрутизатор в течение одной минуты могут обновить DNS-серверы провайдера DDNS, другие все равно могут получить старый IP-адрес, и поэтому ваш веб-сайт будет недоступен для них до тех пор, пока их система или DNS-серверы их провайдера получает новый, текущий IP-адрес. Из-за кэширования и в зависимости от настроек TTL некоторые системы могут попытаться подключиться к старому IP-адресу через много часов или, возможно, даже на следующий день. Это может не быть серьезной проблемой, если вы просто хотите сделать свой сайт доступным для семьи и друзей, но если вы занимаетесь бизнесом, это, скорее всего, неприемлемая проблема.

Обновление по адресу комментарий:

когда вы покупаете доменное имя у регистратора доменных имен , у вас часто есть возможность указать IP-адрес или адреса для систем, которые должны быть доступны через доменное имя по этим адресам, или вы можете временно «припарковать» имя, чтобы оно указывало к системам, принадлежащим регистратору. Когда вы готовы указать свой собственный IP-адрес, регистраторы обычно предлагают службы DNS, которые позволяют вам изменять IP-адреса, связанные с доменными именами, когда вам угодно. Многие из них также позволяют вам через свою службу DNS корректировать значение TTL, т. Е. Время, в течение которого система должна кэшировать IP-адрес, который соответствует полному доменному имени., Итак, если вы думаете, что вам может потребоваться часто менять IP-адрес, вы должны указать более короткий TTL. Регистратор может иметь минимальный TTL, который вы можете указать, например, 5 минут или 30 минут. Значение обычно указывается в секундах, поэтому значение TTL в 5 минут будет равно 300.

Таким образом, если вы используете службу DNS регистратора, вам нужно будет входить в свою учетную запись с регистратором и изменять IP-адрес или адреса, связанные с вашим доменным именем, каждый раз, когда происходит изменение. Или, в качестве альтернативы, вы можете использовать поставщика услуг DDNS, чтобы изменение в переводе с полного доменного имени на IP-адрес происходило автоматически. Вы можете либо приобрести доменное имя через поставщика услуг DDNS и, таким образом, использовать его DNS-серверы по умолчанию, либо приобрести доменное имя у другого регистратора и указать IP-адреса для серверов имен поставщика DDNS на странице конфигурации вашего веб-сайта, предоставленной доменом. регистратор имен

Другой вариант - запустить собственный DNS-сервер. Когда вы покупаете доменное имя, вы можете указать серверы имен, которые должны использоваться с ним, либо серверы имен регистратора, либо некоторые другие серверы имен. Например, у вас может быть та же система, что и веб-сервер, и DNS-сервер. Вы должны убедиться, что сервер будет доступен через порт 53, который является портом по умолчанию для DNS, для протоколов UDP и TCP IP. Затем вы можете создать скрипт / программу на вашем сервере, которая периодически проверяет, какой внешний IP-адрес назначен вашему маршрутизатору, и обновляет файл зоны.для вашего доменного имени на вашем DNS-сервере. Однако настроить DNS-сервер намного сложнее, чем полагаться на поставщика DDNS. Вы можете найти учебники по настройке DNS-сервера в сети, если вы хотите пойти по этому более сложному маршруту. BIND обычно используется для службы DNS в системах Linux. Серверные версии Microsoft для Windows, например Windows Server 2012, имеют службу DNS, предоставляемую Microsoftэто также может быть использовано. Я бы посоветовал начать с DNS-службы регистратора, которая обычно бесплатна, когда вы приобрели доменное имя у регистратора, хотя, даже если вы подумали, что, возможно, захотите встать на более сложный путь работы собственного DNS-сервера. Если кто-то не хочет узнать, как работают основы Интернета, такие как DNS-серверы, придерживаться регистратора или DNS-серверов поставщика услуг DDNS, вероятно, лучший курс для большинства людей. Вы также можете получить услугу DNS через компании, которые специализируются на услугах DNS, таких как OpenDNS .

Имейте в виду, однако, что даже если вы укажете короткое значение TTL и у вас будут автоматические обновления, существует вероятность большей задержки, чем TTL, между моментом, когда вы получаете новый IP-адрес, и временем, когда все системы в Интернете перестают использовать старый IP-адрес и использовать новый. Например, см. Статью GoDaddy, Какие факторы влияют на время распространения DNS? (GoDaddy является регистратором доменных имен), что объясняет, почему может потребоваться до 48 часов, прежде чем новый адрес станет доступным для всех систем в Интернете. Например, в статье говорится: «Некоторые интернет-провайдеры игнорируют настройки TTL и обновляют свои кэшированные записи только каждые два-три дня».


1
Действительно потрясающее и всестороннее объяснение @moonpoint. Большое спасибо - проголосовал. У меня есть один вопрос относительно взятия доменного имени. Получение доменного имени означает присвоение IP-номеров NAME. Теперь опять возникает тот же вопрос. Номера IP, включая публичные IP-адреса, периодически изменяются. В чем секрет этого, я имею в виду, как это происходит после того, как мы получили доменное имя для нашего сайта?
NSPratik

1
@NSPratik, я добавил дополнительную информацию в конце моего предыдущего поста, чтобы ответить на ваш вопрос.
Лунная точка

Спасибо @moonpoint, позвольте мне изучить ваши изменения и свяжутся с вами. Я думаю, что вы не с этой планеты: D
NSPratik

5
Я уже давно пользуюсь доменным именем с Noip бесплатно. Все, что вам нужно сделать, - это присвоить CNAME свой пользовательский домен домену Noip, который они вам дают.
Максимилиан Лаумейстер

Хороший ответ. Вы также можете добавить необходимость поддерживать системы в актуальном состоянии и не иметь уязвимостей. Само по себе это самая страшная часть хостинга системы дома - взлом. Ура !!
closetnoc

4

Вы можете начать хостинг на своем собственном компьютере. Я начал размещать свой первый сайт на своем компьютере. Теперь я зарабатываю на жизнь с сайтов. Но когда вы делаете это, имейте в виду:

  • В вашем доме будет паршивое время безотказной работы. Ваш сайт отключится от сети по разным причинам: снежные бури, дорожно-транспортные происшествия, соседние узлы пропускной способности, ваша микроволновая печь отключает канал или ваш интернет-провайдер блокирует порт.
  • Пропускная способность вашего дома паршивая. Очень немногие интернет-провайдеры предлагают приличную скорость загрузки (это то, что вам нужно для запуска сервера). Даже если ваш местный провайдер работает хорошо, пропускная способность, которую вы получаете, не всегда будет достаточной для запуска большого веб-сайта.

Большинство сайтов размещены в дата-центрах. Эти центры обработки данных имеют резервное питание, они расположены рядом с магистралями Интернета, вы можете получить дополнительную пропускную способность гораздо дешевле, чем пропускная способность для вашего дома.

Вы, конечно, можете начать с размещения своего веб-сайта дома, но когда он станет достаточно большим, будьте готовы его перенести. Ваш первый хостинг-план должен стоить от 50 до 100 долларов в год. Скорее всего, вы платите в месяц за домашний интернет, поэтому накладные расходы минимальны. Начните с «виртуального хостинга», где вы получаете учетную запись на компьютере, на котором размещено множество веб-сайтов.

Использование IP-адреса для веб-сайта также не идеально. Большинство интернет-провайдеров используют DHCP для автоматического назначения адреса. Адрес может (и будет) время от времени меняться. Вы можете использовать «динамический DNS», чтобы обойти это. Некоторые провайдеры динамического DNS предоставят вам поддомен бесплатно ( mysite.example.com). Ваш компьютер пропингует динамический DNS-сервер и меняет IP-адрес вашего сайта при изменении IP-адреса.

Вам следует подумать о покупке собственного доменного имени еще до того, как вы получите свой первый хостинг. Вы можете часто использовать свое собственное имя хоста с динамическими службами DNS. Доменное имя стоит около 10 долларов в год.


2
Я размещаю свой собственный сервер с отличным временем безотказной работы и загружаю и загружаю его по 80 мг. Вам не нужно много пропускной способности. В большинстве случаев стандартный DSL с загрузкой всего 10 мг обеспечит достаточную пропускную способность для загрузки даже для довольно загруженного сайта и приличного времени работы. Раньше я был веб-хостом с серверами в NOC (центр сетевых операций), но использовал домашний DSL (в то время коммерческий) для работы роботов и внешнего мониторинга. Все это работало просто отлично при 100% работоспособности в течение более десяти лет. Конечно, помогло то, что я был сетевым инженером, который его установил. ;-) DSL может быть в порядке.
closetnoc

1
Вы не должны жить там, где я. У моей энергокомпании время безотказной работы составляет всего 95%, а у моего провайдера - чуть лучше
Стивен Остермиллер

1
Мой Sprint тогда Embarq DSL (некоммерческий) работал в течение 8 лет всего 20 минут простоя в общей сложности за 8 лет. У меня есть Centurylink сейчас, и я испытываю не более 30 минут простоя несколько раз (3 или 4) в год на плановое обслуживание. В остальном, подключение было довольно приличным, и у меня нет претензий. Это не всегда будет так, конечно. Это зависит от вашего перевозчика и где вы живете. Я живу в горах. Не могу побить время работы, учитывая.
closetnoc

1
И да - есть паршивые перевозчики, которые сосут. Но больше нет такой вещи, как монополия, где доступна DSL. Вы всегда можете позвонить кому-то еще. Все, что вам нужно, это линия и Redback на ИБП, который должен быть везде (теоретически). Ура !!
closetnoc

@closetnoc будь благодарен, что ты не на краю регионального австралийского города. Несмотря на то, что место, где я пытаюсь продвигать себя как технологический центр, я даже не могу получить ADSL2 + :(
Стив

4

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

Вам не нужно доменное имя. Доменное имя для обычного пользователя, гораздо проще запомнить имя, чем IP-адрес. Просто подумайте о вашем списке контактов, легче запомнить имена, чем реальные телефонные номера.
Самый простой способ увидеть доменное имя - использовать псевдоним. Для больших серверов, которые имеют несколько сайтов на IP-адресе, он также используется для различения сайтов (например, сайты A и B указывают на один и тот же IP-адрес, соответствующий сервер должен быть настроен для отображения сайта A или B, в зависимости от запрос).

Как пример: 64.15.117.85 (не беспокойтесь, это просто Google. Или это?)

Я не рекомендую использовать свой собственный сервер, хотя. Есть много дешевых серверов / хостеров. Вы могли бы сэкономить немного денег (но я сомневаюсь в этом), но простота установки там нового домена перевешивает это IMO. Большинство хостеров работают по принципу «подключи и работай», а настройка собственного сервера, надлежащих брандмауэров, антивируса и поддержка обновлений займет много времени и затрат на обслуживание.


Вау, это здорово !! Таким образом, доменное имя - это все, что касается прикрепления имени к номеру так же, как мы делали это в нашей телефонной книге, не так ли?
NSPratik

И вы не говорите, что «Доменное имя вообще не требуется» ..
NSPratik

2
Аналогия с телефонной книгой верна. Доменное имя проще, но не обязательно :)
Martijn

Хостинг на вашем собственном сервере на самом деле стоит дороже, чем дешевый хостер, экономия отсутствует, так что это вообще не является веской причиной.
JamesRyan

@JamesRyan Вы говорите о затратах на электроэнергию, когда ваш компьютер постоянно включен?
Стивен Остермиллер

3

У меня вопрос, могу ли я сделать сайт и сделать его общедоступным по всему миру на следующих условиях:

Вместо размещения сайта на хостинг-провайдере, таком как Amazon, разместите его на моем собственном сервере. Не имеет значения пропускная способность, производительность, время безотказной работы.

Да.

Я не хочу доменное имя. Неважно, что люди заходят на мой сайт, используя мой публичный ip, например, 123.456.789.0.

Вам не нужно доменное имя для размещения общедоступного веб-сайта.

В то время как другие ответы более подробно описаны, самая простая конфигурация - это загрузить веб-сервер, такой как Apache для Windows, и установить его на компьютер, который вы хотели бы использовать для размещения своего сайта. Я бы предложил 32-битную версию для максимальной совместимости.

Разархивируйте и скопируйте файлы в C: \ Apache24.

Существует также файл конфигурации, который вам нужно отредактировать, который называется http.conf и находится в вашем каталоге установки Apache в папке conf. Раскомментируйте строку с пометкой «ServerName» (удалите #) и сохраните изменения. Обратите внимание, что вы, возможно, захотите или должны будете внести другие изменения позже, но это следует сделать сейчас.

Предполагая, что вы поместили установку в C: \ Apache24 в соответствии с рекомендациями для ссылочной версии Apache для Windows, технически у вас теперь есть работающий веб-сервер, и вы можете запустить его, дважды щелкнув «httpd.exe» в каталоге «bin» Apache. Вы должны увидеть "Это работает!" если вы введете в локальной сети IP-адрес сервера в браузере ex. 192.0.0.100.

Если у вас Linux, вы, вероятно, уже установили Apache и должны предпринять другие шаги.

После проверки правильности работы Apache используйте перенаправление портов на маршрутизаторе (если оно у вас есть), чтобы перенаправлять запросы порта 80 на компьютер, на котором работает Apache.

Если все идет хорошо, это все, что вам нужно, и Apache должен быть доступен через Интернет через ваш публичный IP-адрес. 68.69.70.250.

Обратите внимание, что брандмауэры и антивирусное программное обеспечение могут иногда мешать просмотру вашего сайта за пределами вашей локальной сети. Кроме того, лучше всего проводить тестирование через устройство, не входящее в вашу локальную сеть (например, попробуйте зайти на ваш сайт в браузере телефона). Короче говоря, некоторые маршрутизаторы имеют проблемы с доступом к сайту на бывшей. 68.69.70.250, если этот сайт находится в вашей локальной сети (см. «NAT Hairpinning»).


Публичный ip остается таким же навсегда? Потому что предыдущий ответ на этот вопрос поднимает вопрос о том, что ваш IP может изменяться в будущем, и вам придется обновляться в соответствии с изменениями.
NSPratik

Нет, ваш провайдер может изменить ваш публичный IP. Вот почему люди предпочитают доменные имена.
Анаксунаман

Вы можете прочитать этот ответ, который я дал в другом месте - superuser.com/questions/778640/…
Anaksunaman

1

Я бы порекомендовал использовать бесплатные блог-платформы, такие как WordPress и Blogger. Вам не нужно беспокоиться ни о хостинге, ни о домене. Также вы найдете множество бесплатных тем, чтобы ваш сайт заработал.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.