2

В отношении этого вопроса существует следующая настройка сети. Дома у меня за спиной маршрутизатор работает сервер Apache. Проблема заключается в том, что мой провайдер предоставляет мне только IPv6-адрес и использует DS-Lite для исходящих соединений IPv4.

Поэтому, когда я пытался соединиться с IPv4 (потому что IPv6 все еще не распространен), я использовал свой корневой сервер, который имеет статический IP-адрес, для пересылки запроса на мою площадку по IPv6.

Я зарегистрировал свой собственный домен, и на доске объявлений есть скрипт для синхронизации домена с ежедневно меняющимся адресом IPv6 от моего провайдера.

На моем корневом сервере запущен процесс socat, который прослушивает порт X [IPv4] и пересылает его в мой домен через порт Y [IPv6].

Хотя это прекрасно работает, и я могу получить доступ к своей Cubieboard из IPv4, я не знаю, как настроить SSL с моим сервером Apache на Cubieboard, чтобы я мог получить доступ к нему с помощью SSL через это соединение IPv4 - IPv6.

У меня уже есть сертификат SSL от Let's Encrypt, который можно создать на доске объявлений, поскольку Let's Encrypt поддерживает только домены IPv6. Но так как этот домен подключен только к IPv6-адресу, я не могу просто использовать его в браузере, где у меня есть только IPv4.

                      socat
                      localhost:1234[v4] to
-------------------   mydomain.com:80[IPv6]    -------------------------
| cubieboard IPv6 |  <-----------------------> | root server IPv4/6    |
| apache port 80  |                            | socat Port 1234[Ipv4] |
-------------------                            -------------------------
        ^
        |
---------------------
| SSL certificate   |
| mydomain.com IPv6 |
---------------------

1 ответ1

0

Ваша SSL-настройка должна работать по большей части в вашей сетевой настройке. TLS (текущее имя SSL) не заботится о том, работает ли он по IPv4 или IPv6 или транслируется между ними.

Одна из проблем, с которой вы можете столкнуться, заключается в том, что реализации TLS проверяют имя хоста, которое вы ввели, по сертификату. Поэтому, если вы подключитесь к https://root-server:1234/, вы, вероятно, получите сертификат mydomain.com, который браузер сочтет недействительным.

Чтобы решить эту проблему, вы можете добавить IPv4-адрес вашего корневого сервера к DNS-записи mydomain.com. Таким образом, вы можете подключиться к https://myd-om-ain.com:1234/, и имя хоста будет совпадать. Недостатком этого является то, что Let's Encrypt может начать отказывать, так как он подключится к TCP-порту 80 на mydomain.com, который может оказаться на вашем корневом сервере (и не будет пересылаться).

PS: мне пришлось скрывать ссылки из-за правил superuser.com. Мои извенения

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .