是的,可以将Apache绑定到不同的端口并仍然使用SSL.
替换apache配置中的Listen指令.配置应包含类似的行
Listen 80
Listen 443
Apache将侦听使用这些配置选项定义的端口.替换它们,Apache将在另一个端口上侦听.
但是,您仍然需要告诉Apache在上面的端口上提供什么服务.假设您希望Apache开始侦听端口8080(普通)和4433(ssl).然后你需要将Listen指令替换为
Listen 8080
Listen 4433
在此之后,在这些端口上定义两个VirtualHost,如下所示:
NameVirtualHost 0.0.0.0:8080
NameVirtualHost 0.0.0.0:4433
ServerName the.server.name
ServerAlias *
DocumentRoot /var/www/plain
ServerName the.server.name
ServerAlias *
DocumentRoot /var/www/ssl
SSLEngine On
SSLCertificateFile /the/certificate/file
SSLCertificateKeyFile /the/key/file
如果您没有任何VirtualHost定义,则不必包含ServerAlias指令(或ServerName,就此而言).
如果重新启动Apache,它将在8080上侦听未加密的连接,在端口4433上侦听SSL.请确保没有任何包含错误端口号的旧VirtualHost定义.