У меня есть сервер (база Linux), на котором я установил dotcms, и он работает на порту 80, а openssl - на порту 443. оба запущены в рабочем процессе. Недавно я установил apache на свой сервер. и когда я запустил apache, он застрял, потому что порт ssl по умолчанию на apache - 443, а apache - 80, оба они уже запущены. Только для моей задачи я запустил только apache без ssl на порту 90. но я хочу запустить ssl с apache, очевидно, на другом порту. Можно ли привязать apache ssl к тому же openssl?
Мне нужны мои dotcms по умолчанию в запущенном процессе, я не могу его остановить в любом случае, я могу перезапустить свою службу dotcms, только если требуется запуск apache. но мне нужны dotcms и apache для параллельной работы.
см. изображение по этой ссылке (из-за меньшей репутации я не мог загрузить изображение) http://developers89.byethost14.com/images/ssl.png
Да, можно привязать Apache к другому порту и по-прежнему использовать SSL.
Заменить Listen
директивы в вашей конфигурации apache. Конфигурация должна содержать строку вида
Listen 80
Listen 443
Apache будет прослушивать порты, определенные этими параметрами конфигурации. Замените их, и Apache будет прослушивать другой порт.
Однако вам все равно нужно указать Apache, что будет обслуживать указанные выше порты. Предположим, вы хотите, чтобы Apache начал прослушивать порт 8080 (простой) и 4433 (ssl). Затем вам нужно заменить директивы Listen на
Listen 8080
Listen 4433
После этого определите два VirtualHosts на этих портах следующим образом:
NameVirtualHost 0.0.0.0:8080
NameVirtualHost 0.0.0.0:4433
<VirtualHost 0.0.0.0:8080>
ServerName the.server.name
ServerAlias *
DocumentRoot /var/www/plain
</VirtualHost>
<VirtualHost 0.0.0.0:4433>
ServerName the.server.name
ServerAlias *
DocumentRoot /var/www/ssl
SSLEngine On
SSLCertificateFile /the/certificate/file
SSLCertificateKeyFile /the/key/file
</VirtualHost>
Если у вас больше нет определения VirtualHost, вам не нужно включать ServerAlias
директива (или ServerName
, в этом отношении).
Если вы перезапустите Apache, он будет прослушивать 8080 на предмет незашифрованных соединений и на порту 4433 для SSL. Убедитесь, что у вас нет старого определения VirtualHost, содержащего неправильный номер порта.