2017-04-07 81 views
0

我有一個ec2實例,它運行在centos 6.8上。在我使用CLI安裝了LAMP和laravel之後。 我編輯了我的httpd配置並添加了這個腳本。laravel不工作在https(https ssl由亞馬遜提供)centos 6.8亞馬遜網絡服務

<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(使用Amazon證書管理SSL證書)運行我的web應用程序。

在http上運行後。這是工作。但在https上,該應用程序無法正常工作。我使用了亞馬遜網絡服務提供的SSL證書,並糾正我,如果我錯了,我放在路線53,亞馬遜沒有給我提供證書。) 我也嘗試使用Vhost端口443具有相同的配置。但在我重新啓動httpd配置後。 http和https都不起作用)

+0

你的虛擬主機配置爲https在哪裏?通常這是在端口443. – drmonkeyninja

+0

我添加端口443 https的vhost配置,並且在我重新啓動http和https後,http和https都無法工作。同樣的配置,但在443 – user2739179

+1

你能分享端口443的配置嗎?您是否還確保在重新啓動服務器之前測試了配置?可能有語法錯誤。 – drmonkeyninja

回答

0

您共享的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> 
+0

我使用了亞馬遜提供的SSL證書,並將其導入路由53. – user2739179

+0

amazon提供的SSL證書沒有.crt文件和密鑰。我只將它導入亞馬遜網絡服務的路由53。 – user2739179

+1

@ user2739179您添加到原始問題中的端口443配置不起作用,因爲您不告訴Apache SSL證書/密鑰在上面的答案中顯示的位置。我不熟悉Amazon提供SSL證書的方式,但大概您需要使用他們提供的內容在您的服務器上生成crt和密鑰文件,並將它們添加到vhost配置中。我確定Google搜索會快速啓動您所需的步驟。 :-) – drmonkeyninja