У меня есть веб-сайт, основное требование состоит в том, чтобы сделать тот веб-сайт безопасным при помощи https
Когда клиентский доступ от другой машины, это должно работать, только если сертификат загрузил в настройках браузера. Если не это должно запретить доступа к тому веб-сайту. Может любой помогать мне достигнуть этого.
Я использую Ubuntu 14.04, Сообщенную мне, если Вам люди больше нужны детали
Это tunrs, что официальная документация Apache (см. в этой ссылке) действительно хорошо сделана на этом предмете.
Короче говоря, необходимо закончить с чем-то вроде этого:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
<VirtualHost *:443>
DocumentRoot /var/www/yoursite/
<Directory /var/www/yoursite/>
AllowOverride All
order allow,deny
allow from all
</Directory>
ServerName www.example.com
SSLEngine on
SSLCertificateFile /path/to/www.example.com.cert
SSLCertificateKeyFile /path/to/www.example.com.key
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile /path/to/www.example.com.ca.crt
</VirtualHost>
Необходимо будет получить действительные сертификаты, один для сервера и многих другой для клиентов.
Для сервера
Инструмент OpenSSL установки, если еще не сделано: sudo apt-get install openssl
.
С этим инструментом можно создать закрытый ключ сервера:
openssl genrsa -des3 -out server.pass.key 2048
Вышеупомянутая команда создает закрытый ключ с паролем. Чтобы быть загруженными автоматически Вашим сервером, необходимо удалить пароль:
openssl rsa -in server.pass.key -out server.key
У Вас есть теперь допустимый закрытый ключ сервера в файле, это - файл, на который указывают SSLCertificateKeyFile
Директива Apache.
От этого закрытого ключа Вы создадите Сертификат запрос со знаком (CSR):
openssl req -nodes -new -key server.key -out server.csr
Вы собираетесь быть предложенными ввести ряд элементов (страна, организация...). Самым важным будет Общее название (CN), он должен соответствовать имени хоста Вашего веб-сервера, тот, используемый в URL. Таким образом в моем примере это - www.example.com.
Затем необходимо отправить этот файл CSR поставщику сертификата. Любой общедоступный CA хорош. После того, как они утвердят Ваш требуемый, они отправят Вам известный файл сертификата X.509 за Вашим сервером. На этот файл укажут SSLCertificateFile
Директива Apache.
Для клиента
Необходимо будет предоставить действительный сертификат клиенту также.
На основе клиентского типа (Linux, Windows, MAC...) может отличаться процесс.
Иногда, для клиентских сертификатов, вся операция может быть сделана непосредственно от веб-браузера путем посещения страницы регистрации CA. Если сделано непосредственно от веб-браузера, чем Вы уверены, что сертификат автоматически регистрируется в сертификат DB веб-браузера.
Если сделано внешним средством (как openssl на Linux), необходимо будет импортировать закрытый ключ и файл сертификата в хранилище сертификатов веб-браузера.