我有一个服务器(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定义。