Amazon web services AWS实例更改为https

Amazon web services AWS实例更改为https,amazon-web-services,amazon-ec2,instance,Amazon Web Services,Amazon Ec2,Instance,我们现在使用AWS来建立我们的网站,我们最近尝试建立一个页面,允许我们的客户向我们发送电子邮件。我们设置了一个EC2实例作为电子邮件服务器,但它运行在HTTP上。由于我们的网站使用HTTPS,ajax无法发送HTTP消息,我们必须让EC2实例在HTTPS上运行,但我不知道如何做到这一点 $.ajax({ type: "POST", url: "https://ec2-*-*-*-*.*.compute.amazonaws.com/send"

我们现在使用AWS来建立我们的网站,我们最近尝试建立一个页面,允许我们的客户向我们发送电子邮件。我们设置了一个EC2实例作为电子邮件服务器,但它运行在HTTP上。由于我们的网站使用HTTPS,ajax无法发送HTTP消息,我们必须让EC2实例在HTTPS上运行,但我不知道如何做到这一点

$.ajax({
    type: "POST",
    url: "https://ec2-*-*-*-*.*.compute.amazonaws.com/send",
    contentType: "application/json; charset=utf-8",
    beforeSend: function(request) {
        request.setRequestHeader("Access-Control-Allow-Origin", "*");
        request.setRequestHeader("Access-Control-Allow-Method", "POST");
    },
    async: true,
    data: JSON.stringify({
        "name": name,
        "email": email,
        "message": message
    }),
    traditional: true,
    error: function(xhr, status, error) {
        var errorMessage = xhr.status + ': ' + xhr.statusText
        alert('Error - ' + errorMessage);
    },
    success: function(result) {
        alert(" Good link");
    }
});

通常有三种方法可用于为实例设置SSL

  • 在EC2前面设置a(LB)。为此,您需要自己的自定义域。拥有该域,您可以从AWS ACM获得免费的公共SSL证书,并轻松地将其部署到LB上。使用LB,您的应用程序将使用HTTPS连接到LB。LB将在AWS内部网络中将流量作为HTTP转发到实例

  • 在实例上手动设置有效的公共SSL证书。因为这不能像步骤1中那样使用,因此您需要从第三方(而不是AWS)获得SSL证书。一个流行的选择是使用。在实例上安装SSL通常需要设置反向代理,例如nginx。顺便说一句,StackOverflow使用letsencyrpt作为自己的SSL证书

  • 在EC2实例前面设置一个。您可以在CF发行版上使用带有ACM SSL证书的自定义域,也可以使用默认CF端点(也是HTTPs)。然而,这里的问题是CF和您的实例之间的通信量将是跨internet的HTTP,这是一种安全风险。要解决此问题,您必须使用步骤1或2为HTTPs设置有效的SSL证书


  • 通常有三种方法可用于为实例设置SSL

  • 在EC2前面设置a(LB)。为此,您需要自己的自定义域。拥有该域,您可以从AWS ACM获得免费的公共SSL证书,并轻松地将其部署到LB上。使用LB,您的应用程序将使用HTTPS连接到LB。LB将在AWS内部网络中将流量作为HTTP转发到实例

  • 在实例上手动设置有效的公共SSL证书。因为这不能像步骤1中那样使用,因此您需要从第三方(而不是AWS)获得SSL证书。一个流行的选择是使用。在实例上安装SSL通常需要设置反向代理,例如nginx。顺便说一句,StackOverflow使用letsencyrpt作为自己的SSL证书

  • 在EC2实例前面设置一个。您可以在CF发行版上使用带有ACM SSL证书的自定义域,也可以使用默认CF端点(也是HTTPs)。然而,这里的问题是CF和您的实例之间的通信量将是跨internet的HTTP,这是一种安全风险。要解决此问题,您必须使用步骤1或2为HTTPs设置有效的SSL证书


  • 谢谢至于第二种方法,EC2实例的域类似于EC2----.*.compute.amazonaws.com,我只是不知道如何获得ssl证书。我是使用EC2实例域来获取证书还是自定义域也可以?提前谢谢@你需要你自己的领域。您无法获取
    compute.amazonaws.com
    的SSL证书,因为这是AWS拥有的域,而不是您的域。顺便说一句,如果答案有帮助,我们将不胜感激。谢谢!!!至于第二种方法,EC2实例的域类似于EC2----.*.compute.amazonaws.com,我只是不知道如何获得ssl证书。我是使用EC2实例域来获取证书还是自定义域也可以?提前谢谢@你需要你自己的领域。您无法获取
    compute.amazonaws.com
    的SSL证书,因为这是AWS拥有的域,而不是您的域。顺便说一句,如果答案有帮助,我们将不胜感激。