Laravel 如何在XAMPP Ubuntu 18.04上实现SSL HTTPS

Laravel 如何在XAMPP Ubuntu 18.04上实现SSL HTTPS,laravel,apache,docker,ssl,Laravel,Apache,Docker,Ssl,目前我已经在ubuntu18.04LTS(docker实例)上安装了我的LaravelAPP 在此路径中:/opt/lampp/htdocs/api_tk 在我的/opt/lampp/etc/extra/httpd vhosts.conf中,我的工作设置没有启用SSL 端口:3021作为端口80用于docker 因此我尝试解密,并将其命名为private\u new.key。这看起来像: -----BEGIN RSA PRIVATE KEY----- Some text....

目前我已经在ubuntu
18.04
LTS(docker实例)上安装了我的
LaravelAPP

  • 在此
    路径中:/opt/lampp/htdocs/api_tk
  • 在我的
    /opt/lampp/etc/extra/httpd vhosts.conf
    中,我的工作设置没有启用
    SSL
  • 端口:3021作为端口80用于docker

  • 因此我尝试解密,并将其命名为
    private\u new.key
    。这看起来像:

     -----BEGIN RSA PRIVATE KEY-----
    
     Some text....       
    
     -----END RSA PRIVATE KEY-----
    
  • 我创建的
    csr
    用于生成我的
    crt
    文件,如下所示

    -----BEGIN RSA PRIVATE KEY-----
    Proc-Type: 4,ENCRYPTED
    DEK-Info: DES-EDE3-CBC,0C7820F5FAA4FF26
    
    Sometext.............
    
    -----END RSA PRIVATE KEY-----
    
    位于:
    /opt/lampp/htdocs/ssl\u key

    • myapi-bundle.crt
    • myapi.crt
    • myapi.pem

    • 所以我尝试使用这个网站来检查我的
      private\u new.key
      myapi.crt
      是否匹配
  • 所以我更新了我的
    httpd vhosts.conf
  • 启用ssl时

    <VirtualHost *:3021>
    DocumentRoot "/opt/lampp/htdocs/api_tk/public"
    <Directory "/opt/lampp/htdocs/api_tk/public">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ServerName myapi.domain.com
    ServerAlias myapi.domain.com
    
    ErrorLog "logs/API-error_log"
    
    SSLEngine on
    SSLCertificateFile "/opt/lampp/htdocs/ssl_key/myapi.crt"
    SSLCertificateKeyFile "/opt/lampp/htdocs/ssl_key/private_new.key"
    SSLCACertificateFile "/opt/lampp/htdocs/ssl_key/myapi-bundle.crt"
    Redirect permanent / https://myapi.domain.com
    
    </VirtualHost>
    
    
    DocumentRoot“/opt/lampp/htdocs/api_tk/public”
    选项索引跟随符号链接多视图
    允许超越所有
    命令允许,拒绝
    通融
    ServerName myapi.domain.com
    ServerAlias myapi.domain.com
    ErrorLog“日志/API错误日志”
    斯伦金安
    SSLCertificateFile“/opt/lampp/htdocs/ssl\u key/myapi.crt”
    SSLCertificateKeyFile“/opt/lampp/htdocs/ssl_key/private_new.key”
    SSLCACertificateFile“/opt/lampp/htdocs/ssl_key/myapi bundle.crt”
    重定向永久/https://myapi.domain.com
    
  • 并使用以下命令重新启动我的xampp
    sudo/opt/lampp/lampp restart
  • 给了我这样的东西

    -----BEGIN RSA PRIVATE KEY-----
    Proc-Type: 4,ENCRYPTED
    DEK-Info: DES-EDE3-CBC,0C7820F5FAA4FF26
    
    Sometext.............
    
    -----END RSA PRIVATE KEY-----
    

    似乎我的设置没有问题,因为它重新启动正常,状态正常

    12。因此,我试图检查
    api
    是否已经启用了ssl,但它似乎不起作用。我的设置是否有任何错误?

    注意:我已经完成了我的laravel https设置,比如:routes&resources(css和js)

    主要错误:拒绝连接。


    你能更具体地说一下“似乎没用”吗?您是否收到SSL错误?浏览器警告?连接超时/被拒绝?抱歉,我在浏览器上的错误是拒绝连接apache xampp不会给我任何错误。我更新了我的问题并放置了我的错误,这是完整的错误消息吗?是浏览器拒绝连接到服务器,还是服务器拒绝连接?浏览器有时会阻止SSL连接到非标准HTTPS端口(除443以外的任何端口)。当我检查我的API-error.log时,没有发生错误,而且浏览器说拒绝连接。检查更新问题的错误图像。在我的docker实例中,端口3021用作80。因为我有多个docker的实例。如果浏览器的地址栏是
    http://myapi.domain.com
    然后它将连接到端口80,但不会使用SSL协议。如果它以
    https
    开头,地址中没有端口(如
    https://myapi.domain.com:3021
    )然后它将连接到端口443,而不是80。无论您的浏览器尝试连接到哪个端口,您的主机似乎没有侦听该端口。例如,您可能需要使用类似
    -p 443:3021