【问题标题】:How to host multiple website on Amazon EC2 single instance with SSL support?如何在支持 SSL 的 Amazon EC2 单实例上托管多个网站?
【发布时间】:2019-01-12 12:44:46
【问题描述】:

我是亚马逊网络服务的初学者。我想在单个 aws t2.micro 服务器上托管多个网站。我在下面找到了解决方案。

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/html/website1_folder"
ServerName yourdomain.com
ErrorLog "logs/yourdomain.com-error_log"
CustomLog "logs/yourdomain.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/html/website2_folder"
ServerName subdomain.yourdomain.com
ErrorLog "logs/yourdomain.com-error_log"
CustomLog "logs/yourdomain.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/html/website3_folder"
ServerName anotherdomain.com
ErrorLog "logs/yourdomain.com-error_log"
CustomLog "logs/yourdomain.com-access_log" common
</VirtualHost>

但是,此解决方案仅适用于非 ssl 网站。如何在一个支持 ssl 的 Amazon EC2 实例上设置多个网站?我更喜欢 apache 网络服务器,因为我的所有网站都将使用 php 或静态 html。是否有从头到尾配置的分步指南,例如配置实例、apache 服务器、dns 和 ssl 配置?请帮忙。提前致谢。

【问题讨论】:

标签: apache amazon-web-services ssl


【解决方案1】:

你有多种选择

  • 通配符证书(例如 *.mysite.com)允许您使用任何子域邮件,但是这些证书通常会花费一些费用并且您仅限于子域级别
  • 您可以通过“主题备用名称”https://www.digicert.com/subject-alternative-name.htm 请求支持域列表的证书
  • 您可以使用 SNI https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI 在 ssl 握手期间客户端发送请求的主机名 amd 服务器可以为不同的主机名使用不同的证书(目前大多数客户端都支持 SNI,旧的浏览器版本或客户端框架可能不支持它)

我认为你最好的机会是使用 SNI

【讨论】:

    【解决方案2】:

    要从第三方获取 SSL/TLS 证书,在您的 EC2 实例上使用并不便宜。我通常会使用 CloudFront 来终止 SSL/TLS 连接,然后让它使用 http 与您的 EC2 站点通信。

    您可以在 AWS Certificate Manager 中免费获得证书,而将 CloudFront 用于低容量网站只需几美分。

    对所有子域使用通配符证书,在一个证书中列出多个域,或单独的证书,这取决于您。

    至于分步指南,我之前在之前的回答 https://stackoverflow.com/a/51126705/6427978 上已经这样做了,尽管可能会有一些变化来支持您的用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-13
      • 2017-02-14
      • 1970-01-01
      • 2015-06-02
      • 2020-06-22
      • 1970-01-01
      • 2012-05-27
      • 2017-09-29
      相关资源
      最近更新 更多