×
FAQ: Технические вопросы

Ответы на часто задаваемые вопросы о Windows хостинге

Вопрос: Какая страница отображается по умолчанию?

Ответ: Если в запросе не определена конкретная страница, IIS производит поиск имен заданных страниц в следующем порядке:

  • Default.htm
  • Default.html
  • Default.shtm
  • Default.asp
  • Default.aspx
  • index.htm
  • index.html
  • index.shtm
  • index.asp
  • index.aspx
  • index.php

Таким образом, в качестве страницы по умолчанию IIS использует первую страницу, которая будет соответствовать критерию поиска.

Вопрос: Как я могу разместить свои страницы ошибок?

Ответ: В случае необходимости вы можете самостоятельно настроить обработку ошибок HTTP, либо используя IIS Manager, либо редактируя файл web.config вручную.

Болеe подробную информацию о настройке обработки ошибок вы можете найти здесь.

Информацию о кодах ошибок HTTP для IIS 7.0 вы можете найти на сайте Microsoft.

Вопрос: Какими правами на каталоги и файлы на виртуальной площадке обладают анонимный пользователь web-сайта и рабочий процесс IIS?

Ответ: Рабочий процесс IIS работает под уникальным для каждой площадки пользователем и имеет права Modify на файлы и каталоги, размещенные на соответствующей площадке. Анонимный пользователь web-сайта уникален для каждого размещённого на виртуальной площадке домена, и имеет права Modify на файлы, размещённые в каталоге с названием домена. Для вновь создаваемых на площадке файлов права наследуются, поэтому никаких дополнительных действий с правами не требуется.

Стоит принять во внимание часть ограничений: на уровне сервера запрещено удалять каталог www, tmp и log, а так же запрещены изменения в каталоге log\w3svcXXXX. После того как домен удалён с площадки через личный кабинет — его файлы и каталоги остаются на площадке, но ограничения (на удаление и изменение) снимаются.

Часть каталогов по умолчанию закрыта через Request Filtering. Настроить фильтр самостоятельно можно через IIS Manager, для чего откройте Request Filtering (в разделе IIS) и перейдите на вкладку Hidden Segments.

Вопрос: Можно ли использовать файлы .htaccess на Windows-хостинге?

Ответ: Файлы .htaccess используются веб-сервером Apache и не обрабатываются веб-сервером IIS в условиях Windows-хостинга.

Для настройки веб-сервера IIS, в соответствии с вашими потребностями, вы можете использовать файл web.config.

Так же существует графический интерфейс IIS Manager, позволяющий удобно вносить необходимые изменения в файл web.config. Например, нередко возникает необходимость преобразования правил, написанных для модуля mod_rewrite веб-сервера Apache.

Мы написали инструкцию, как используя IIS Manager произвести конвертацию правил mod_rewrite в правила модуля IIS URL Rewrite.

Вопрос: Как включить блокировку нежелательных IP-адресов для веб-сайтов?

Ответ: Для включения блокировки можно воспользоваться возможностью «IP Address and Domain Restriction» веб-сервера IIS. Требуется подключиться к серверу через IIS Manager, после перейти в IP Address and Domain Restriction, блокировка конкретного адреса или диапазона адресов добавляется кнопкой Add Deny Entry в меню Actions. К аналогичному результату можно прийти, добавив в секцию configuration/system.webServer/securityipSecurity файла web.config параметр add ipAddress, например так:

<configuration>
    <system.webServer>
        <security>
            <ipSecurity>
                <add ipAddress="xxx.xxx.xxx.xxx" allowed="false" />
            </ipSecurity>
        </security>
    </system.webServer>
</configuration>

Где xxx.xxx.xxx.xxx — IP-адрес, который нужно заблокировать.

Вопрос: Каким образом я могу получить доступ к содержимому своих Web-сайтов?

Ответ: По протоколу FTP или по защищенному протоколу FTPS по адресу

ftp://uXXXXX.ftp.masterhost.ru/
где uXXXXX — это имя вашей площадки.

Подробнее про подключение по протоколу FTP можно прочитать здесь, а про подключение по протоколу FTPS написано здесь.

Вопрос: Как размещать домены на своей площадке?

Ответ: Чтобы разместить домен на площадке, следует выбрать в личном кабинете в Древе услуг свою виртуальную площадку с требуемым тарифным планом, после чего использовать функцию «разместить домен» (или, если необходимо не только разместить домен на площадке, но и зарегистрировать его — функцию «зарегистрировать домен»).

Максимальное количество доменов, размещаемых на одной площадке, зависит от выбранного тарифного плана.

При размещении домена через личный кабинет в корне площадки автоматически создаётся папка с именем размещённого домена, в которой находятся две папки: log и www:

  • log — папка, в которой автоматически размещаются файлы журнала сервера IIS для данного домена.
  • www — «корень» сайта, в котором пользователь размещает его содержимое.
Вопрос: Как настроить WebDeploy для публикации сайта?

Ответ: Настройку подключения следует производить так (пример для сайта domain.tld на площадке u12345):

  • ServiceURL: u12345.ftp.masterhost.ru
  • Site/application: domain.tld
  • User name: hosting\u12345
  • Password: Пароль от FTP-пользователя u12345
  • Destination URL: http://domain.tld

Обратите внимание!
При работе WebDeploy происходит попытка изменить парава на файлы, но из-за ограничений виртуального хостинга это запрещено, что в итоге приводит к ошибке публикации. Для решения этой проблемы нужно в файл проекта (файл с расширением .csproj) в трех разделах <PropertyGroup> добавить элемент:

<IncludeSetAclProviderOnDestination>False</IncludeSetAclProviderOnDestination>

По-умолчанию WebDeploy пытается очистить папку сайта перед публикацией, что может привести к ошибке "Unable to perform the operation ("Delete Directory") for the specified directory". Для избежания этого нужно в настройках проекта прописать:

<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>

Вопрос: Как создать дополнительного пользователя FTP?

Ответ: Для каждой виртуальной площадки предоставляется FTP-доступ ко всем доменам (директориям) этой площадки. Заказав услугу «Дополнительный доступ FTP», вы можете ограничить доступ дополнительному пользователю к определенным доменам или директориям. Для чего через раздел Древо услуг, в личный кабинет, выберите нужную «виртуальную площадку» и добавьте услугу «Дополнительный FTP-доступ».

Вопрос: Что делать, если при загрузке файлов некоторыми FTP-клиентами, например FAR Manager, буквы «я» пропадают из имен файлов?

Ответ: Для исправления данной проблемы с встроенным FTP-клиентом программы FAR Manager требуется включить следующие опции: «Дублировать FF в командах» (Dup FF in commands) и «Убирать двойные FF из PWD» (UnDup FF from PWD).

Для этого выберете ваше подключение к FTP-серверу и активируйте меню «Редакт» (Edit) нажатием клавиши F4, далее перейдите к меню «Расширенные параметры» (Extended options) в котором активируйте две соответствующих опции.

Вопрос: В личном кабинете доступна только версия ASP.NET 2.0, как поступить, если приложению требуется версия 3.5?

Ответ: Это заблуждение. Речь идет о .NET Framework: ваше приложение требует версию 3.5. У нас установлен .NET Framework 3.5 SP1, в состав которого входит как раз ASP.NET CLR версии 2.0, что и указано в личном кабинете. То есть, вы можете использовать свое приложение, проблем при его запуске быть не должно.

Получить более подробную информацию о соответствии между версиями ASP CLR и ASP.NET вы можете тут и тут.

Вопрос: Как перезапустить пул приложений веб-сервера IIS 7.X, обслуживающий мою виртуальную площадку?

Ответ: Для перезапуска пула приложений войдите в файловый менеджер по адресу http://uXXXXXX.ftp.masterhost.ru (логин и пароль от FTP) и нажмите кнопку "Перезапустить пул". Более подробная информация о работе с файловым менеджером доступна по ссылке.

Вопрос: Разрешен ли у вас SSI (Server Side Includes)?

Ответ: Да. На динамических тарифах даже с использованием директивы #exec. Обратите внимание, что по умолчанию обработчик настроен только на расширение .shtm, чтобы веб-сервер обрабатывал SSI в .html-файлах требуется добавить в секции system.webServer/handlers и system.webServer/staticContent файла web.config следующее:

<configuration>
    <system.webServer>
        <handlers>
            <add name="test" path="*.html" verb="GET,POST" modules="ServerSideIncludeModule" resourceType="File" requireAccess="Script" />
        </handlers>
        <staticContent>
            <remove fileExtension=".html" />
        </staticContent>
    </system.webServer>
</configuration>

Скачать пример готового web.config

При этом стоит знать, что веб-сервером IIS поддерживаются не все SSI-включения, со списком поддерживаемых можно ознакомится в библиотеке MSDN.

Вопрос: Как включить выполнение EXE как CGI?
Ответ: Для этого нужно, в конфигурационном файле web.config, в секции system.webServer/handlers прописать следующую строку для CGI-exe:
<configuration>
   <system.webServer>
       <handlers>
           <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" />
       </handlers>
   </system.webServer>
</configuration>

Скачать пример готового web.config

Вопрос: В моем приложении используется авторизация и шифрование данных из Cookies, почему периодически эти данные сбрасываются?

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

В данном случае мы рекомендуем использовать элемент machineKey для ASP.NET, более подробную информацию вы можете получить по ссылке в библиотеке MSDN.

Вопрос: Можно ли использовать SQL Server Management Studio для управления своими базами данных?

Ответ: Да. По стандартным портам (1433).

Подробнее можно прочитать здесь.

Вопрос: Как сопоставить расширения некоторых файлов с корректным MimeType? Почему файлы с некоторыми расширениями не видны?

Ответ: Для того чтобы файлы с некоторыми расширениями были видны веб-серверу у них должен быть обязательно указан MimeType. Сопоставить MimeType какому либо расширению вы можете самостоятельно, используя IIS Manager или изменив файл web.config, добавив mimeMap в секцию system.webServer/staticContent:

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".tyu" mimeType="application/octet-stream" />
    </staticContent>
   </system.webServer>
</configuration>

Скачать пример готового web.config

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

Вопрос: Как мне создать ODBC DSN запись?
Ответ: Мы не поддерживаем создание пользователем ODBC DSN записей. Да и с появлением DSN-less connections надобность прописывать это каждый раз пропадает.
Вопрос: Что такое DSN-less connections?

Ответ: DSN-less Connection не требует создания системного DSN (Data Source Name).

Приведем пример:

<%
Dim Сon
Set Con = Server.CreateObject("ADODB.Connection")

con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data "
& _ "Source=database.mdb"

' Тут мы работаем с этим соединением
' ...................................

Сon.Close
Set Сon = Nothing
%>

Преимущества DSN-less Connection:

  • вам не надо регистрировать DSN (особенно это важно в нашем случае, т.к. вам не надо делать лишних запросов в службу поддержки);
  • оно несколько быстрее, т.к. используется «родной» OLE DB провайдер, и не используются лишние ODBC драйвера.
Вопрос: Примеры строк подключения (ConnectionString)

Ответ:

Строку подключения можно добавить через интерфейс IIS Manager (см. раздел ASP.NET -> Connection Strings) или вручную, путем редактирования секции configuration\connectionStrings файла web.config, добавив в нее значения вида <add connectionString="Строка" />. Ниже рассмотрены самые популярные примеры строк подключения:

Где:

MSSQL:


"Server=uXXXXX.mssql.masterhost.ru;Database=uXXXXX;User ID=uXXXXX;Password=PASSWORD" name="SampleString"

MySQL через ODBC-драйвер:


"Driver={MySQL ODBC 5.1 Driver};Server=uXXXXX.mysql.masterhost.ru;Database=uXXXXX; uid=uXXXXX;password=PASSWORD;option=3"

Access через Jet с паролем и без:


"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Rooms\uXXXXX\domain.tld\www\base.mdb;User Id=admin;Password=;"

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Rooms\uXXXXX\domain.tld\www\base.mdb;Jet OLEDB:Database Password=PASSWORD;"

Access 2007 через ACE:


"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Rooms\uXXXXX\domain.tld\www\base.accdb;Persist Security Info=False;"

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Rooms\uXXXXX\domain.tld\www\base.accdb;Jet OLEDB:Database Password=PASSWORD;"

uXXXXX — номер Вашей виртуальной площадки
PASSWORD — соответствующий пароль доступа к базе данных
domain.tld — имя домена (веб-сайта), размещенного на площадки

Вопрос: Поддерживаете ли вы FrontPage Extensions?
Ответ: Нет. FrontPage Extensions является небезопасной технологией для shared hosting. Microsoft постепенно отказывается от этой технологии в пользу Windows SharePoint Services.
Вопрос: Поддерживаете ли вы ISAPI?
Ответ: ISAPI Filters — нет. ISAPI приложения — да (в формате как DLL так и EXE).
Вопрос: Каким образом перенаправить все запросы к моему сайту в другое место?

Ответ: Для создания переадресации с кодом ответа «302 Moved Temporarily» можно воспользоваться услугой «переадресация» в личном кабинете: Древо услуг — домен domain.tld — переадресация — Добавить

Если нужно создать перенаправление с кодом ответа «301 Moved Permanently», то это можно сделать с помощью IIS Manager (в разделе «HTTP Redirect») или с помощью файла web.config:

<configuration>
  <system.webServer>
     <httpRedirect enabled="true" destination="http://target.tld/" httpResponseStatus="Permanent" />
   </system.webServer>
</configuration>

Скачать пример готового web.config

В примере вместо http://target.tld/ нужно указать адрес назначения (т.е. домен или страницу, на которые должна осуществляться переадресация).

Вопрос: Как запустить приложение, использующее ASP.NET MVC Framework в условиях виртуального Windows-хостинга?

Ответ: Для использования ASP.NET MVC требуется переключить режим работы Application Pool в режим Integrated, для чего, в личном кабинете, выберите в древе услуг виртуальную площадку и измените на ней характеристику «Параметры площадки». Вы можете выбрать необходимую версию ASP.NET и режим работы конвейера IIS — Classic или Integrated.

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

Вопрос: Как защитить паролем ASP страницу?
Ответ: Об этом рассказывается в статье базы знаний Microsoft.
Вопрос: Как использовать возможности .NET-Users и .NET-Roles, как правильно настроить БД и веб-сайт для их использования?
Ответ:

Для того, что бы использовать некоторые возможности ASP.NET (в т.ч. и работа с пользователями и их ролями) мы предлагаем воспользоваться хранением всех данных в БД Microsoft SQL. Ниже описан алгоритм подготовки базы и приложения.

  1. Желательно, но не обязательно, создать новую БД из панели управления для работы с .NET.
  2. Подготовить БД, воспользовавшись утилитой %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe

    Запустим утилиту aspnet_regsql.exe и выполним с БД действия, предлагаемые мастером. Фактически от Вас требуется только ввести реквизиты доступа к БД: адрес сервера, имя базы, владельца и пароль, остальное программа сделает самостоятельно.

    Теперь, когда база подготовлена, приступим к подготовке приложения, воспользовавшись IIS Manager.

  3. Добавим строку подключения к новой БД в разделе "Connection Strings", введем адрес сервера, имя базы и реквизиты ее владельца.
  4. Зайдем в Providers, зададим провайдера для ролей: выберем .NET Roles и нажмем Add. Выберем SqlRoleProvider, зададим имя провайдеру, и выберем созданную строку подключения к БД, не забудем дать имя приложению, например MyApp.
  5. Теперь в Providers выберем .NET Users и опять нажмем Add: Зададим имя провайдера для пользователей, укажем нашу строку подключения, введем имя приложения как и ранее (MyApp для примера).
  6. В итоге можно зайти в .NET Users, и скорее всего мы получим ошибку о соединении с БД, тогда выберем в Set Default Provider и выберем провайдера, которого мы завели для .NET Users ранее. Теперь произойдет соединение с БД и Вы сможете добавить нужных пользователей.

В результате операций из пунктов 3 — 6 получатся следующие секции web.config:
configuration\connectionStrings\ — строка подключения
configuration\system.web\roleManager\providers — провайдер ролей
configuration\system.web\membership\providers — провайдер пользователей


<configuration>
    <connectionStrings>
        <add connectionString="Server=uXXXXX.mssql.masterhost.ru;Database=uXXXXX;User ID=uXXXXX;Password=dbpassword" name="ASPNET string" />
    </connectionStrings>
    <system.web>
        <roleManager>
            <providers>
                <add name="Имя провайдера ролей" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, 
                Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="Имя приложения" connectionStringName="ASPNET 
                string" />
            </providers>
        </roleManager>
        <membership defaultProvider="Имя провайдера пользователей">
            <providers>
                <add name="Имя провайдера пользователей" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0,
                 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="Имя приложения" connectionStringName="ASPNET 
                 string" enablePasswordReset="false" enablePasswordRetrieval="false" passwordFormat="Clear"
                  requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
            </providers>
        </membership>
    </system.web>
</configuration>

            

Скачать пример готового web.config

Примечание: Если IIS сообщает об ошибке "The specified password is invalid. Type a new password" при добавлении нового .NET-пользователя, то существуют два возможных пути решения проблемы.

  • 1. Задать более сложный пароль, из букв разного регистра, цифр и спец-символов.
  • 2. Понизить политику безопасности, для чего в элемент провайдера ролей:
    <add name="Имя провайдера ролей" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="Имя приложения" connectionStringName="ASPNET string" />
    Добавьте ключи:
    minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordStrengthRegularExpression=""
    В итоге элемент примет вид:
    <add name="Имя провайдера ролей" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="Имя приложения" connectionStringName="ASPNET string" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordStrengthRegularExpression="" />
Вопрос: Как защитить паролем приложение ASP .NET?

Ответ: С помощью форм аутентификации. Об этом рассказывается в следующих статьях на сайте Microsoft:

Вопрос: Как защитить паролем произвольный каталог?

Для защиты любого каталога в рамках Windows-хостинга можно использовать метод аутентификации "Basic Authentication" и авторизацию пользователей через реквизиты FTP-доступа к виртуальной площадке.

Воспользоваться такой возможностью можно через IIS Manager. После подключения к нужному веб-сайту выберите в левом меню Connections нужный каталог веб-сайта и перейдите в раздел Authentication, по правому клику на "Basic Authentication" активируйте Enable. Далее вернитесь назад и перейдите в раздел Authorization Rules, удалите уже присутствующее там правило типа "Allow All Users ..." (Remove по правому клику). После чего в правом меню Actions нажмите "Add Allow Rule" и отметьте "Specified users", в поле ввода введите логин FTP-доступа к виртуальной площадке (можно завести дополнительные FTP-доступы для использования авторизации). После добавления правила Вы сможете зайти по HTTP в нужный каталог веб-сайта, введя реквизиты указанного FTP-доступа.

После того, как будут проведены выше обозначенные действия через интерфейс IIS Manager, результатом будет являться следующий файл web.config:


<?xml version="1.0" encoding="UTF-8"?>                
<configuration>
    <system.webServer>
        <security>
            <authentication>
                <basicAuthentication enabled="true" />
            </authentication>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" users="uXXXXX" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

Скачать пример готового web.config.

Данный web.config можно поместить в каталог, который требуется защитить паролем, предварительно указав в 10'й строке логин FTP-доступа к виртуальной площадке, тем самым избавив себя от необходимости устанавливать IIS Manager, и использовать готовое решение.

Вопрос: Как правильно указать каталог для приложения при заказе услуги «Приложение» из личного кабинета?
Ответ: При заказе услуги «Приложение» путь до каталога приложения указывается от корня web-сайта. Таким образом, если приложение должно находится в каталоге /mydomain.com/www/test, то при заказе услуги «Приложение» в личном кабинете следует указать каталог «test» (без кавычек).
Вопрос: Как узнать полный физический путь до моего файла или каталога?

Ответ: Получить полный физический путь до нужного каталога можно с помощью метода Map Path и переменной сервера PATH_INFO.

Например, с помощью простого asp-скрипта:

<%= Server.MapPath(Request.ServerVariables("PATH_INFO"))%>
можно определить физический путь к этому скрипту.

В случае с PHP узнать абсолютный путь до скрипта можно так:

<?php echo $_SERVER['PATH_TRANSLATED']; ?>
Вопрос: Что делать, если не работает роутинг через элемент routes.MapPageRoute?

Ответ: Если при правильно добавленных маршрутах через routes.MapPageRoute сервер возвращает ответ с кодом 404, то в web.config требуется добавить элемент

<modules runAllManagedModulesForAllRequests="true"/>

в секцию

<system.webServer>
Подробнее можно узнать по ссылке в Журнале MSDN.

Вопрос: Как правильно подключить услугу IP/SSL?

Ответ: Для заказа услуги выделенный IP/SSL, следует выбрать в личном кабинете в Древе услуг свой домен, для которого вы хотите подключить услугу выделенный IP/SSL и нажать кнопку Добавить, напротив названия услуги. Если доступ к сайту по HTTPS не требуется, отметку «подключить поддержку SSL-протокола» ставить не требуется, в противном случае отметьте ее.

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

Вопрос: Как добавить поддержку SSL-шифрования и сертификат к протоколу HTTP (HTTPS)?

Для генерации сертификата в центрах выдачи (Thawte, VerySign, Go Daddy и др.), требуется заполнить специальную анкету, в которой нужно указать следующие данные:

  • Country Name (2-х буквенный код страны)
  • State or Province Name (для России можно указать город)
  • Locality Name (город)
  • Organization Name (название компании)
  • Organizational Unit Name (направление деятельности компании)
  • Common Name (имя домена)
  • Email Address (адрес электронной почты)

При предъявлении вами такой анкеты мы можем сгенерировать и выдать специальный CSR-запрос (Certificate Signing Request) для последующей передачи вами в центр выдачи сертификатов. После получения сертификата, его можно будет установить на сервер виртуального хостинга для нужного домена.

Также Вы можете установить собственный сертификат, сгенерированный самостоятельно, для чего до подключения услуги, требуется скопировать в корень виртуальной площадки 2 файла:

  • Domain.tld.pfx, сертификат в формате pfx, содержащий копию сертификата с ключом. Как его получить читайте на странице «Получение и создание резервных копий SSL-сертификатов», пункт «Чтобы создать резервную копию сертификата сервера и закрытого ключа»;
  • Domain.tld.pwd, первая строка которого будет содержать пароль к сертификату.

где Domain.tld — имя вашего домена, к которому будет подключена услуга IP/SSL.

В случае, если до заказа услуги «Выделенный IP/SSL» не будут загружены файлы Domain.tld.pfx и Domain.tld.pwd, будет установлен наш самоподписанный сертификат.

Вопрос: Как создавать исходящие соединения с выделенного IP?

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

Ниже рассмотрены примеры кода, для создания сокета с нужного адреса используется socket_bind:

<?php
    $sock socket_create(AF_INETSOCK_STREAMSOL_TCP);
    $sourceip 'XXX.XXX.XXX.XXX';
    socket_bind($sock$sourceip);
    socket_connect($sock'remotedomain.tld'80);
    $request 'GET / HTTP/1.0' ."\r\n" .'Host: remotedomain.tld ' "\r\n\r\n";
    socket_write($sock$request);
    while(!socket_last_error($sock)){
        if($buffer=socket_read($sock,512,PHP_NORMAL_READ)){
            echo $buffer;
            } }
    socket_close($sock);
?>

В данном примере:

  • XXX.XXX.XXX.XXX — выделенный IP
  • remotedomain.tld — удаленный сервер, к которому посылается GET-запрос

Более подробная документация доступна в PHP Manual.

Если используется CURL, то можно использовать curl_setopt.