Назад | Перейти на главную страницу

привязать порт ssl apache к другому порту с тем же портом openssl 443

У меня есть сервер (база 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, содержащего неправильный номер порта.