使用相同的openssl端口443将apache ssl端口绑定到不同的端口

我有一个服务器(Linux基地),我在其中安装dotcms,它运行在端口80和openssl在端口443.两个都开始在运行过程中。 最近我在我的服务器上安装了apache。 当我开始Apache的时候卡住了,因为apache上的默认ssl端口是443,而apache是​​80,两者都已经在运行了。 只是为了我的任务,我只在端口90上启动了没有ssl的apache。但是我想用apache启动ssl,显然是在不同的端口。 是可以绑定Apache的SSL与相同的openssl?

我需要我的默认dotcms在运行过程中我无法阻止它在任何情况下,我只能重新启动我的dotcms服务,如果需要apache启动。 但我需要dotcms和Apache来并行运行。

看到该链接上的图像(因为较less的声誉,我无法上传图片) http://developers89.byethost14.com/images/ssl.png

是的,可以将Apache绑定到不同的端口,并仍然使用SSL。

replace您的apacheconfiguration中的Listen指令。 configuration应该包含像

 Listen 80 Listen 443 

Apache将监听使用这些configuration选项定义的端口。 replace它们,Apache将在不同的端口上侦听。

但是,您仍然需要告诉Apache在上述端口上的服务。 假设您希望Apache开始侦听端口8080(普通)和4433(ssl)。 然后,您需要将Listen指令replace为

 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上监听未encryption的连接,并在端口4433上监听SSL。 请确保不要有任何包含错误端口号的旧VirtualHost定义。