Конфигурация системы

  1. Ubuntu14.04 (64bit)
  2. XAMPP 1.8.3-5
    • Apache/2.4.10 (Unix) OpenSSL/1.0.1i PHP/5.5.15 mod_perl/2.0.8-dev Perl/v5.16.3

Я читал о новых возможностях Apache 2.4

Директива NameVirtualHost
Больше не нужен и теперь устарел.

Поэтому вместо NameVirtual host я пробовал другие виртуальные хосты на основе ip.

Ниже приведены изменения, которые я сделал для работы

httpd.conf

uncommented Включить строку внутри блока <IfModule ssl_module>

<IfModule ssl_module>
<IfDefine SSL>
Include etc/extra/httpd-ssl.conf
</IfDefine>
</IfModule>

HTTPD-ssl.conf

создать сертификат Apache SSL и добавить файлы журналов в соответствующем месте

<VirtualHost localhost:443>

DocumentRoot "/opt/lampp/htdocs/wsdl"
ServerName wsdl.local
ServerAlias wsdl.local
ServerAdmin myemail@email.com
ErrorLog "/opt/lampp/logs/wsdl_error_log"
TransferLog "/opt/lampp/logs/wsdl_access_log"
SSLEngine on
SSLCertificateFile "/opt/lampp/apache2/ssl/wsdl.crt"
SSLCertificateKeyFile "/opt/lampp/apache2/ssl/wsdl.key"
</VirtualHost>

вот файл журнала ошибок

wsdl_error_log

[Fri Nov 21 15:43:12.001231 2014] [ssl:warn] [pid 5322] AH01906: wsdl.local:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Fri Nov 21 15:43:12.001350 2014] [ssl:warn] [pid 5322] AH01909: wsdl.local:443:0 server certificate does NOT include an ID which matches the server name
[Fri Nov 21 15:43:13.001886 2014] [ssl:warn] [pid 5323] AH01906: wsdl.local:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Fri Nov 21 15:43:13.001960 2014] [ssl:warn] [pid 5323] AH01909: wsdl.local:443:0 server certificate does NOT include an ID which matches the server name

Моя проблема

  • http://localhost >> Неверный запрос
  • https://localhost/wsdl/ >> не работает
  • https://192.168.xx.xx/ >> Ошибка безопасного соединения (код ошибки: ssl_error_rx_record_too_long)
  • https://192.168.xx.xx/wsdl/ >> Ошибка SSL-соединения

в то время как

  • http://192.168.xx.xx/ >> работает (как и defualt xammpp)
  • http://localhost перейдите в каталог http://localhost/wsdl

PS localhost ведет себя так же, как 127.0.0.1 в каждом состоянии

Пожалуйста, предложите Что-то еще, что я должен добавить, чтобы это работало? лайк

  • добавить что-то в /etc/hosts или любую другую конфигурацию или
  • комментирование Включите etc/extra/httpd-vhosts.conf в httpd.conf

Обновить

создан соответствующий сертификат Примечание: напишите wsdl.local

Наиболее важным элементом, который запрашивается, является строка, которая гласит «Общее имя (например, полное доменное имя сервера или ВАШЕ имя)». Вы должны ввести доменное имя, которое вы хотите связать с сертификатом, или публичный IP-адрес сервера, если у вас нет доменного имени.

добавлен адрес виртуального хоста в /etc/hosts

127.0.0.1 wsdl.local

измененный /opt/lampp/etc/extra/ httpd-ssl.conf

<VirtualHost *:80>
    DocumentRoot "/opt/lampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost _default_:443> <-- added back _default_
ServerAlias www.wsdl.local  <-- alias append with www

<Directory "/opt/lampp/htdocs/wsdl"> <-- wraped directory in "
    Options All
    AllowOverride All
    order allow,deny
    allow from all
    #SSLRequireSSL <-- commented
</Directory>

и я замечаю изменения в поведении URL

  • http://wsdl.local/ http://localhost & http://127.0.0.1 >> URL-адрес изменен на http://wsdl.local/xampp/ и отображается главная страница XAMPP

  • https://wsdl.local/ & https://localhost/ перешел в каталог wsdl (что необходимо)

  • https://127.0.0.1/ >> URl превращается в https://127.0.0.1/xampp/ и объект не найден

Но это все еще не ожидается, что требуется

http[s]://localhost/ и http[s]://127.0.0.1/ перенести меня на главную страницу XAMPP

http[s]://wsdl.local перейдет в каталог wsdl

1 ответ1

0

Шаг 1: Используйте OpenSSL для создания ключей, которые используются для защиты вашего сайта. Эти ключи используются при шифровании и дешифровании трафика на ваш защищенный сайт.

$openssl genrsa -out mydomain.key 1024

Шаг 2: Создайте свой собственный сертификат.

 $ openssl req -new -key mydomain.key -x509 -out mydomain.crt

Шаг 3: Сохраните ключ цены в каталоге /etc/apache2/ssl.key/ и сертификат в каталоге /etc/apache2/ssl.crt/.

Примечание. Каталог ssl.key должен быть доступен для чтения только пользователю root.

Шаг 4: Теперь вам нужно отредактировать файл httpd.conf в /etc /apache2.

Теперь этот файл должен включать содержимое, подобное этому:

> <VirtualHost *:80>
> 
> ServerAdmin keshav.mohta@dotsquares.com
> 
> DocumentRoot /opt/lampp/htdocs/wsdl
> 
> ServerName www.mydomain.com
> 
> ServerAlias mydomain.com
> 
> </VirtualHost>


<VirtualHost *:443>

ServerAdmin keshav.mohta@dotsquares.com

DocumentRoot /opt/lampp/htdocs/wsdl

ServerName mail.mydomain.com

SSLEngine on

SSLCertificateFile /etc/apache2/ssl.crt/mydomain.crt

SSLCertificateKeyFile /etc/apache2/ssl.key/mydomain.key

ErrorLog "/opt/lampp/logs/wsdl_error_log"

TransferLog "/opt/lampp/logs/wsdl_access_log"

</VirtualHost>


<Directory /srv/www/htdocs/mydomain-secure>
SSLRequireSSL
</Directory>

Не меняйте Listen 80 на 443 в /etc/httpd/conf/httpd.conf. SSL настраивается в /etc/httpd/conf.d/ssl.conf. SSL включен и прослушивает по умолчанию самозаверяющий сертификат.

Вы можете перейти на сайт по умолчанию, используя SSL, просто перейдя по https://localhost (вам не нужно добавлять порт в конец URL).

Если вы хотите перенаправить все HTTP-запросы в HTTPS (что, я полагаю, вы пытаетесь достичь), вы можете добавить постоянное перенаправление или использовать модуль Apache mod_rewrite.

Самый простой и безопасный способ - установить постоянное перенаправление. Включите именованные виртуальные хосты и добавьте директиву Redirect в VirtualHost в /etc/httpd/conf/httpd.conf.

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