如何在localhost上为多个域和子域使用HTTPS?

时间:2011-02-28 02:36:55

标签: ruby apache macos ssl https

我正在使用

  • 的Apache
  • Ruby and Ruby on Rails 3
  • Mac Os跑“Snow Leopard”

我想在 localhost 上为我的域和子域使用HTTPS。

我已经设置了所有内容(我认为正确):

  • 我为我的域和子域生成了通配符证书(例如:* .sitename.com)
  • 我在http.conf文件中设置了基于名称的虚拟主机,侦听端口:433:80
  • 我的浏览器也接受证书,如果它提醒我那些不安全且我可以使用HTTPS访问页面

从官方的Apache指南中我读到使用基于名称的虚拟主机不可能做到这一点,但我也读过以某种方式提出这个问题的人(什么?!我不明白......)。< / p>

那么,是否可以在localhost中为多个域和子域使用HTTPS?如果是这样,我必须“做”“检查”以便与之合作?


@sarnold

更新

  

typhoeus似乎使用libcurl,和   libcurl似乎支持SNI - 是   你的libcurl版本足够新   支持SNI? typhoeous知道如何   启用它? (是libcurl的客户吗?   需要“启用”它自己的SNI吗?)

我是这么认为的,因为我可以通过HTTPS访问所有子域,并且应该更新libcurl:

curl -V--version

curl 7.21.2 (x86_64-apple-darwin10.5.0) libcurl/7.21.2 OpenSSL/1.0.0c zlib/1.2.5 libidn/1.19
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: IDN IPv6 Largefile NTLM SSL libz 


# Typhoeus request
Typhoeus::Request.get("https://<sub_domain_name>.<domain_name>.com/")

我如何检查“ libcurl的客户是否需要”启用“它自己的SNI?”?

1 个答案:

答案 0 :(得分:0)

执行name-based virtual servers with SSL/TLS的技术不是很好的选择,但Server Name Indication扩展允许浏览器按名称请求特定网站,允许不同的证书与不同的网站一起使用。并非所有浏览器都支持SNI。

虽然有人可能会问,如果多个证书都是在具有相同权限的同一进程中提供的,那么有什么价值,那么改善用户TLS体验的任何事情都值得一试。 :)