将apache ssl端口与具有相同openssl端口443的其他端口绑定


8

我有一台服务器(基于Linux的服务器),其中安装了dotcms,它在端口80上运行,openssl在端口443上。两者均在运行过程中启动。最近我在服务器上安装了apache。当我启动apache时,它卡住了,因为apache上的默认ssl端口是443,而apache是​​80,两个都已经在运行了。仅出于我的任务,我仅在端口90上仅启动了不带ssl的apache。但是我也想在不同的端口上也启动了带有apache的ssl。可以将apache ssl与相同的openssl绑定吗?

我在运行过程中需要我的默认dotcms,无论如何我都无法停止它,如果需要Apache启动,我只能重新启动我的dotcms服务。但我需要dotcms和apache才能并行运行。

看到该链接上的图片(由于信誉降低,我无法上传图片) http://developers89.byethost14.com/images/ssl.png


1
提供信息为文本而不是图像(可读,可搜索等)。
里希

Answers:


17

是的,可以将Apache绑定到其他端口,并且仍然使用SSL。

替换Listen您的apache配置中的指令。配置应包含如下行

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

<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定义,其中包含错误的端口号。


谢谢,端口打开了,但是当我尝试mydomain.com:4433时,它给出了错误“ SSL连接错误”Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.
Waqas Ahmed

当我尝试通过linux a2enmod ssl上的此命令启用ssl模块时。它给出了错误:* Restarting web server apache2 ... waiting (98)Address already in use: make_sock: could not bind to address [::]:4433并且当我禁用该模块并重新启动apache 4433端口正在运行并且遇到上面的注释中突出显示的错误时
Waqas Ahmed

停止apache网络服务器,并确保没有Apache实例继续运行。使用“ netstat -napt | grep 4433”命令检查端口是否打开(应该没有输出)。然后运行a2enmod启用SSL模块。另外,请确保“ Listen”指令仅在配置文件中出现一次(例如,第二个“ Listen 4433”指令将导致错误)。
Lacek

使用Apache 2.4.10,我获得Invalid ServerName "*" use ServerAlias to set multiple server names.
Ortomala Lokni,

我已经更新了答案,因此该配置也将与Apache 2.4一起使用。感谢您指出了这一点。
Lacek '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.