Здравствуйте, в этой статье расскажу Вам о том, как привязать домен к Windows серверу, возможно этот способ имеет какие либо недочеты или ошибки, но он 100% работает.
Что же нам понадобиться? Собственно, домен, где его купить я рассказывать не буду, ибо мест куча. Так же нам понадобиться аккаунт в Cloudflare, что бы наш домен имел ssl сертификат. Возможно, в статье есть ошибки, ибо я не веб матсер и могу не правильно оперировать терминами, но для рядового python разработчика, который с веб движухой в приоритете никак не связан будет полезно. Ну что, поехали.
После регистрации перейдите во вкладку "Websites", после перехода на эту страницу воспользуйтесь кнопкой "Get started".
Далее выбираем тариф "Free" и жмем "Continue".
Далее Cloudflare будет искать существующие DNS записи, это займет немного времени.
После окончания сканирования нам будут показаны DNS записи, в основном их там от 2-х до 6-ти, больше на моей памяти я не видел. Нам нужны только две DNS записи типа "A". Первая запись должна быть примерно такая:
Type: A, Name: domain.com, Content: YOUR IP ADDRESS. То, куда указывает зеленая стрелка на скриншоте ниже, там должен быть ваш домен, т.е там должно быть что то вроде domain.com, а вместо YOUR IP ADDRESS должен быть айпишник вашего сервера соответственно.
Вторая запись:
Type: A, Name: www, Content: YOUR IP ADDRESS. Точно такая же, только в Name в место "domain.com" пишем "www".
Когда все сделали нажимаем "Continue"
После этих манипуляций Cloudflare выдаст Нам две NSки, их нужно вписать в разделе Nameservers, где Вы приобретали домен. Когда все сделали жмем кнопку "Continue"
На следующей странице просто везде жмем "Save", по итогу должно получиться так как на скриншоте ниже. Если все так же жмем "Finish"
На этом настройка Cloudflare подошла к концу, приступаем к работе с сервером.
Скачать Nginx можно тут: https://nginx.org/en/download.html
Выбираем стабильную версию и качаем архив
После скачивания архива распаковываем его куда душе угодно, я обычно распаковываю на рабочий стол.
Содержимое папки будет выглядеть примерно так:
Нам нужна папка "conf", открываем ее и видим такие файлы:
Нам нужен файл "nginx.conf", открываем его в любом удобном редакторе:
Это уже настроеная конфигурация для одновременной работы WEB приложения и принятие вебхуков для телеграм бота. В "server {...}" есть "location ...", в данном случае у меня две локации, на первом месте стоит "location /webhook {...}", а на втором "location / {...}", что бы мое WEB приложение не перехватывало вебхуки. В настройках локации нужно обязательно указать "proxy_pass YOUR_ADDRESS", где в месте YOUR_ADDRESS указываем url, на котором будет запущено, например, WEB приложение, как видно, WEB приложение у меня запущено на "http://127.0.0.2:7777", а принятие вебхуков на "http://localhost:8080". Сделайте примерно такую конфигурацию и сохраните ее (CTRL + S). ВАЖНО, НЕ ЗАБУДЬТЕ ОТКРЫТЬ ИСПОЛЬЗУЕМЫЕ ПОРТЫ!!!
Теперь нам нужно запустить сам nginx, открываем командуню строку (далее буду называть CMD), и в ней открываем дерикторию с nginx:
Теперь нужно запустить nginx командой:
Что же нам понадобиться? Собственно, домен, где его купить я рассказывать не буду, ибо мест куча. Так же нам понадобиться аккаунт в Cloudflare, что бы наш домен имел ssl сертификат. Возможно, в статье есть ошибки, ибо я не веб матсер и могу не правильно оперировать терминами, но для рядового python разработчика, который с веб движухой в приоритете никак не связан будет полезно. Ну что, поехали.
Регистрация в Cloudflare
Сначала проходим обычную процедуру регистрации, как и в любом другом сервисе, нужна только почта.После регистрации перейдите во вкладку "Websites", после перехода на эту страницу воспользуйтесь кнопкой "Get started".
Добавление домена в Cloudflare
Вводим в поле домен который хотим привязать к нашему серверу, вводим туда домен в формате "domain.com".
Далее выбираем тариф "Free" и жмем "Continue".
Далее Cloudflare будет искать существующие DNS записи, это займет немного времени.
После окончания сканирования нам будут показаны DNS записи, в основном их там от 2-х до 6-ти, больше на моей памяти я не видел. Нам нужны только две DNS записи типа "A". Первая запись должна быть примерно такая:
Type: A, Name: domain.com, Content: YOUR IP ADDRESS. То, куда указывает зеленая стрелка на скриншоте ниже, там должен быть ваш домен, т.е там должно быть что то вроде domain.com, а вместо YOUR IP ADDRESS должен быть айпишник вашего сервера соответственно.
Вторая запись:
Type: A, Name: www, Content: YOUR IP ADDRESS. Точно такая же, только в Name в место "domain.com" пишем "www".
Когда все сделали нажимаем "Continue"
После этих манипуляций Cloudflare выдаст Нам две NSки, их нужно вписать в разделе Nameservers, где Вы приобретали домен. Когда все сделали жмем кнопку "Continue"
На следующей странице просто везде жмем "Save", по итогу должно получиться так как на скриншоте ниже. Если все так же жмем "Finish"
На этом настройка Cloudflare подошла к концу, приступаем к работе с сервером.
Настройка сервера
Данный способ я использовал при запуске различных WEB приложений на ЯП Python и для настройки вебхука для телеграм ботов. Я использую Nginx, просто по тому что однажды его попробовал и надобности в тестровании апача у меня небыло, покажу на примере с Nginx.Скачать Nginx можно тут: https://nginx.org/en/download.html
Выбираем стабильную версию и качаем архив
После скачивания архива распаковываем его куда душе угодно, я обычно распаковываю на рабочий стол.
Содержимое папки будет выглядеть примерно так:
Нам нужна папка "conf", открываем ее и видим такие файлы:
Нам нужен файл "nginx.conf", открываем его в любом удобном редакторе:
Это уже настроеная конфигурация для одновременной работы WEB приложения и принятие вебхуков для телеграм бота. В "server {...}" есть "location ...", в данном случае у меня две локации, на первом месте стоит "location /webhook {...}", а на втором "location / {...}", что бы мое WEB приложение не перехватывало вебхуки. В настройках локации нужно обязательно указать "proxy_pass YOUR_ADDRESS", где в месте YOUR_ADDRESS указываем url, на котором будет запущено, например, WEB приложение, как видно, WEB приложение у меня запущено на "http://127.0.0.2:7777", а принятие вебхуков на "http://localhost:8080". Сделайте примерно такую конфигурацию и сохраните ее (CTRL + S). ВАЖНО, НЕ ЗАБУДЬТЕ ОТКРЫТЬ ИСПОЛЬЗУЕМЫЕ ПОРТЫ!!!
Теперь нам нужно запустить сам nginx, открываем командуню строку (далее буду называть CMD), и в ней открываем дерикторию с nginx:
Теперь нужно запустить nginx командой:
Если вы все сделали правильно перейдите по адресу "localhost" в браузере, если все хорошо Вы увидете приветственное сообщение от nginx, это значит что Вы все сделали правильно. Теперь можно запустить Ваше WEB приложение и попробовать перейти по домену, и вуаля, если все было сделано правильно откроется Ваше WEB прилоежние.start nginx