我有一个服务器(linux基础),我在其中安装了dotcms,它运行在端口80上,openssl在端口443上。两者都是在运行过程中启动的。最近,我在服务器上安装了apache。当我启动apache时,由于apache上的缺省ssl端口是443,apache是80,所以它停滞不前了,它们都已经在运行了。为了完成我的任务,我在端口90上只启动了没有ssl的apache。但是,我也想在不同的端口上使用apache启动ssl。是否可以将apache与相同的openssl绑定?
在运行过程中,我需要默认的dotcms --无论如何,我不能停止它,只有在apache启动需要时,我才能重新启动我的dotcms服务。但我需要dotcms和apache并行运行。
查看该链接上的图像(由于声誉较低,我无法上传图像) http://developers89.byethost14.com/images/ssl.png
发布于 2013-08-02 10:38:41
是的,可以将Apache绑定到不同的端口,并且仍然使用SSL。
替换apache中的Listen指令。配置应该包含行,如
Listen 80
Listen 443Apache将监听使用这些配置选项定义的端口。替换它们,Apache将在另一个端口上侦听。
但是,您仍然需要告诉Apache在上面的端口上提供什么服务。假设您希望Apache开始监听端口8080 (平原)和4433 (ssl)。然后,您需要将侦听指令替换为
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定义。
https://serverfault.com/questions/528210
复制相似问题