Apache 单IP配置多个HTTPS虚拟主机

简介: Apache 文档中提到,不能在单个 IP上同时有多个按名字识别的虚拟主机("named virtual host"),其实不完全是这样了。使用SNISNI全称Server Name Indication(服务器名称指示),这个问题可以解决apache中的单IP多HTTPS虚拟主机,只有默认第一个站点的SSL生效的问题。但是这些技术需要浏览器的版本支持

Apache 文档中提到,不能在单个 IP上同时有多个按名字识别的虚拟主机("named virtual host"),其实不完全是这样了。
使用SNI
SNI全称Server Name Indication(服务器名称指示),这个问题可以解决apache中的单IP多HTTPS虚拟主机,只有默认第一个站点的SSL生效的问题。但是这些技术需要浏览器的版本支持

支持SNI的浏览器

  • Mozilla Firefox 2.0 or later
  • Opera 8.0 or later (the TLS 1.1 protocol must be enabled)
  • Internet Explorer 7 (Vista, not XP) or later
  • Google Chrome (Vista, not XP) (NOT Chromium)
  • Safari 3.2.1 Mac OS X 10.5.6

支持SNI的web容器

  • apache版本在2.2.12以上
  • 需要mod_gnutls或者mod_ssl模块的支持
  • Openssl在0.9.8j后的版本也都支持了SNI的功能

配置Apache

  • 打开Apache/conf/extra/httpd-vhost.conf文件并找到以下参数进行配置。
Listen 443
NameVirtualHost *:443

<VirtualHost *:443>
ServerName www.test1.com
SSLOptions StrictRequire
DocumentRoot /path/to/ssl/enabled/site
SSLProtocol all -SSLv2 -SSLv3
#这里我们同时禁用了SSLv2、SSLv3不安全的协议
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile conf/server.crt
SSLCertificateKeyFile conf/server.key
SSLCertificateChainFile conf/ca.crt
#默认SSLCertificateChainFile会被注释,请删除行首的“#”号注释符,并将CA证书ca.crt配置到该路径下
<Directory /path/to/ssl/enabled/site/>
SSLRequireSSL
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>


<VirtualHost *:443>
ServerName www.test2.com
SSLOptions StrictRequire
DocumentRoot /path/to/other/ssl/enabled/site
SSLProtocol all -SSLv2 -SSLv3
#这里我们同时禁用了SSLv2、SSLv3不安全的协议
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile conf/server.crt
SSLCertificateKeyFile conf/server.key
SSLCertificateChainFile conf/ca.crt
#默认SSLCertificateChainFile会被注释,请删除行首的“#”号注释符,并将CA证书ca.crt配置到该路径下
<Directory /path/to/other/ssl/enabled/site/>
SSLRequireSSL
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>

最后,保存 httpd-vhost.conf 文件并退出,使用https方式访问网站,测试证书配置是否成功。

目录
相关文章
|
21天前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
34 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
18天前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
86 7
|
21天前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
38 2
|
21天前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
66 1
|
24天前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
25天前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
29 4
|
3月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
44 1
|
12天前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
395 13
Apache Flink 2.0-preview released
|
16天前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
39 3
|
2月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

热门文章

最新文章

推荐镜像

更多