Apa*_*ser 3 debian apache-http-server ssl virtual-host
我有一个虚拟服务器托管在 ISP 上,有 2 个公共 IPv4 地址。我想使用 Apache 运行多个子域(超过 2 个)并通过 HTTP 和 HTTPS 为它们提供服务。SSL 证书是 *.mydomain.com 的通配符。
我试图以这种方式在 Debian 中配置 Apache 但失败了。要么我的虚拟主机不被接受,要么我收到 SSL 错误。(我知道 Apache 在提供证书之前没有看到请求的主机名,但证书包含所有可能的子域)
请帮助创建一个最适合 Debian 的 Apache 配置布局的 httpd.conf。
所有细节:
Apache可以使用TLS Server Name Indication看到请求的主机名。
但是,这需要相对较新的网络浏览器。例如,在 Windows XP 上使用 Internet Explorer 的用户将收到其他域的证书不匹配消息。(谢天谢地,WinXP/IE 用户几乎绝迹了。)维基百科文章有一个列表,如果您不确定,这里有一个测试页面。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymlinks MultiViews
</Directory>
</VirtualHost>
NameVirtualHost *:443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymlinks MultiViews
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/private/example.com.pem
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
附加(子)域:
<VirtualHost *:80>
ServerName foo.example.com
DocumentRoot /sites/foo
</VirtualHost>
<VirtualHost *:443>
ServerName foo.example.com
DocumentRoot /sites/foo
SSLEngine on
SSLCertificateFile /etc/ssl/private/foo.example.com.pem
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10278 次 |
| 最近记录: |