Как получить доступ к виртуальному хосту из интернета? - PullRequest
0 голосов
/ 15 мая 2019

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

http://122.4.195.12:7777/site/index.php

  1. Есть ли способ получить доступ к моему виртуальному хосту из Интернета?Когда я получаю доступ к своему виртуальному хосту из Интернета (https://mysite/site/index.php), я получаю

DNS_PROBE_FINISHED_NXDOMAIN ошибкаIP-адрес сервера mysite не найден.

Есть ли способ добавить SSL при доступе к моему веб-сайту через публичный IP-адрес?Когда я меняю http на https, я получаю

ERR_SSL_PROTOCOL_ERROR122.4.195.12 отправил неверный ответ.http://122.4.195.12:7777/site/index.php -> https://122.4.195.12:7777/site/index.php

Вот мой Конфигурация виртуального хоста:

<VirtualHost *:7777>
DocumentRoot "C:\xampp\htdocs"
  ServerName mysite
  <Directory "C:\xampp\htdocs">
    Require all granted
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
<VirtualHost *:443>
     DocumentRoot "C:/xampp/htdocs"
     ServerName mysite
     SSLEngine on
     SSLCertificateFile "crt/scratchitsite/server.crt"
     SSLCertificateKeyFile "crt/mysite/server.key"
     <Directory "C:\xampp\htdocs">
        Require all granted
        AllowOverride All
        Order allow,deny
        Allow from all
      </Directory>
 </VirtualHost>

Вот файл хоста моего сервера:

127.0.0.1       mysite

1 Ответ

0 голосов
/ 15 мая 2019

На вопрос 1

Более простым способом по-прежнему будет регистрация доменного имени, указать его на свой IP-адрес и настроить для него VirtualHost ServerName

VirtualHost фактически обнаруживает HTTP-заголовок Host с сайта сервера, поэтому ключевая вещь здесь:

Как заставить браузер клиента отправлять заголовок Host так же, как вы указали на сервере

Например, используя CURL, вы можете заставить его использовать определенный пользователем заголовок Host, например: curl -H 'Host: mysite' 122.4.195.12:7777/site/index.php

Если вы используете Chrome, вы можете попробовать использовать расширение браузера, например this

На вопрос 2

Вы включили HTTPS на порту 443 вместо 7777 в конфигурации Apache

Это означает, что вы должны получить доступ к своей службе HTTPS, например, https://122.4.195.12:443/site/index.php вместо https://122.4.195.12:7777/site/index.php

...