Добрый день всем!Не могу настроить внешний доступ к Apache по SSL на FreeBSD который находиться за NAT (маршрутизатор).
Подсказали что нужно сгенерировать два ключа - один на внешний IP второй для самого сервера.
Сгенерил (самоподписанный на IP), прописал в httpd.conf. В локалке все в порядке, подключаюсь нормально на https.
А снаружи не получается.
Если просто набрать IP:
Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.Если с указанием https - выводит предупреждение а дальше ничего, а на вкладке Безопасность в предупреждении пишет что имя сервера (внешний IP) не совпадает с сертификатом (внутренний IP) сервера.
Думаю что я неправильно прописал конфиг:
Listen 80
Listen 443<VirtualHost *:80>
RedirectMatch (.*) https://192.168.0.10:443
</VirtualHost>
<VirtualHost xxx.xxx.xxx.xxx:443> Внешний IP на маршрутизаторе
DocumentRoot "/usr/local/www/apache24/data"
ServerName xxx.xxx.xxx.xxxSSLEngine on
SSLCertificateFile /etc/apache24/ssl/outer.cert
SSLCertificateKeyFile /etc/apache24/ssl/outer.key<Directory "/usr/local/www/apache24/data">
AllowOverride All
Order allow,deny
Allow from all
Options Indexes FollowSymLinks
</Directory>
</VirtualHost><VirtualHost 192.168.0.10:443> Сервер с Apache
DocumentRoot "/usr/local/www/apache24/data"
ServerName 192.168.0.10SSLEngine on
SSLCertificateFile /etc/apache24/ssl/inner.cert
SSLCertificateKeyFile /etc/apache24/ssl/inner.key<Directory "/usr/local/www/apache24/data">
AllowOverride All
Order allow,deny
Allow from all
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>Подскажите пожалуйста что здесь неправильно.
> Подскажите пожалуйста что здесь неправильно.Виртуалхост должен быть только внутренний, на локальном адресе. В "ServerName 192.168.0.10" должно быть имя хоста, а не адрес. Секция "VirtualHost xxx.xxx.xxx.xxx:443" - лишняя. Имя хоста нужно прописать в DNS, создав два view - для локальных и внешних клиентов с одним и тем же hostname. В сертификате нужно использовать hostname как в ServerName и DNS.
>> Подскажите пожалуйста что здесь неправильно.
> Виртуалхост должен быть только внутренний, на локальном адресе. В "ServerName 192.168.0.10"
> должно быть имя хоста, а не адрес. Секция "VirtualHost xxx.xxx.xxx.xxx:443" -
> лишняя. Имя хоста нужно прописать в DNS, создав два view -
> для локальных и внешних клиентов с одним и тем же hostname.
> В сертификате нужно использовать hostname как в ServerName и DNS.Спасибо, попробую