【问题标题】:laravel not working on https (https ssl provided by amazon) centos 6.8 Amazon web serviceslaravel 无法使用 https(亚马逊提供的 https ssl)centos 6.8 亚马逊网络服务
【发布时间】:2017-09-02 15:29:39
【问题描述】:

我有一个 ec2 实例,它在 centos 6.8 上运行。在我使用 CLI 安装 LAMP 和 laravel 之后。 我编辑了我的 httpd 配置并添加了这个脚本。

<VirtualHost *:80>
   #ServerName laravel.example.com
    DocumentRoot /var/www/html/application/public

  <Directory /var/www/html/application>
         AllowOverride All
 </Directory>

<VirtualHost *:443>
       #ServerName laravel.example.com
        DocumentRoot /var/www/html/application/public

      <Directory /var/www/html/application>
             AllowOverride All
     </Directory>
</VirtualHost>

我尝试使用 HTTP 和 HTTPS(使用亚马逊证书管理器的 SSL 证书)运行我的 Web 应用程序。

在 http 上运行后。这是工作。但是在 https 上,该应用程序无法正常工作。

编辑: (我使用了亚马逊网络服务提供的 SSL 证书,如果我错了,请纠正我,我输入了 53 号路线,亚马逊没有向我提供证书。) 我还尝试使用具有相同配置的 Vhost 端口 443。但是在我重新启动 httpd 配置后。 http 和 https 都不起作用)

【问题讨论】:

  • 您的 https 虚拟主机配置在哪里?通常这是在端口 443 上。
  • 我在端口 443 上添加了 https 的虚拟主机配置,在我重新启动 http 和 https 后,http 和 https 都不起作用。相同的配置,但在 443
  • 你能分享一下443端口的配置吗?您是否还确保在重新启动服务器之前测试了配置?可能存在语法错误。
  • 我编辑了我的问题先生。如果我的配置有误,请纠正我。谢谢。

标签: apache laravel http amazon-web-services https


【解决方案1】:

您共享的 VirtualHost 配置仅用于端口 80,它将用于配置您的站点以通过 http 运行。您还需要将 Apache 配置为在端口 443 上侦听 https 协议并在此文件中定义您的 SSL 密钥。它会看起来像这样:-

<VirtualHost *:443>
        DocumentRoot /var/www/html/application/public

        SSLEngine on
        SSLCertificateFile /etc/httpd/ssl/example.crt
        SSLCertificateKeyFile /etc/httpd/ssl/example.key
        SSLCertificateChainFile /etc/httpd/ssl/example.bundle
</VirtualHost>

【讨论】:

  • 我使用了amazon提供的SSL证书,在53号路由上导入。
  • amazon提供的SSL证书没有.crt文件和key。我只在亚马逊网络服务的 53 号路线中导入了它。
  • @user2739179 您添加到原始问题的端口 443 配置将不起作用,因为您没有告诉 Apache SSL 证书/密钥在我上面的答案中显示的位置。我不熟悉亚马逊如何提供 SSL 证书,但大概您需要使用它们提供的内容在您的服务器上生成 crt 和密钥文件并将它们添加到 vhost 配置中。我相信谷歌搜索会很快找到你需要的步骤。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-29
  • 2017-11-29
  • 2012-11-08
  • 1970-01-01
相关资源
最近更新 更多