CP Vestaの無料SSL-簡単。 LaravelのSSL

こんにちは友人。 httpsプロトコルを介したサイトの作業が標準になっているだけでなく、すでに前提条件になっているという秘密を誰にも教えません。 しかし、非常に多くのサイトが、安全でないhttpプロトコルを介して引き続き機能しています。 ただし、多数のサイト所有者がすでにSSLへの切り替えを検討しています。 セキュリティ証明書の取得方法に関する情報を検索する場合、リソース所有者は多くの困難に直面します。 これは、証明書の種類、価格、複雑な登録の必要性、身元証明などの選択です。 経験の浅い多くのユーザーを撃退し、バックバーナーへの安全なプロトコルへのスイッチを押します。 しかし、方法があります! シンプル、無料、高速。



特定のケースでは、Vestaコントロールパネル用の優れたLet's EncryptプロジェクトからSSL証明書を無料で取得および構成する方法を説明します。 Gitがインストールされており、CP Vestaを使用していると思います。 Gitがインストールされていない場合は、インストールする必要があります。 CentOS 6.xシステムですべてのコマンドを実行しますが、他のアセンブリの場合、本質は変わりません。



利便性を最大限に高めるために、たとえばssl.shのように呼び出すことができるbashスクリプトを作成できます。



#!/bin/bash # How to Install Let's Encrypt Certificate on VestaCP USERNAME = 'username' DOMAIN = 'mydomain.com' # Go to folder cd /usr/local # Clone git repositories git clone https://github.com/letsencrypt/letsencrypt.git git clone https://github.com/interbrite/letsencrypt-vesta.git git clone https://github.com/certbot/certbot.git # Create the “webroot” directory where Let's Encrypt will write the files needed for domain verification. mkdir -p /etc/letsencrypt/webroot # Now also symlink the Apache conf file in your Apache conf.d directory. ln -s /usr/local/letsencrypt-vesta/letsencrypt.conf /etc/httpd/conf.d/letsencrypt.conf # Symlink letsencrypt-auto and letsencrypt-vesta in /usr/local/bin for easier access. ln -s /usr/local/letsencrypt/letsencrypt-auto /usr/local/bin/letsencrypt-auto ln -s /usr/local/letsencrypt-vesta/letsencrypt-vesta /usr/local/bin/letsencrypt-vesta # Restart server service httpd restart # Install at yum install at # Command for get SSL certificate and automatic Renewals every 60 days letsencrypt-vesta -a 60 $USERNAME $DOMAIN
      
      





説明のいくつかの言葉。 USERNAME変数では、証明書を受け取るユーザーを指定する必要があります。 Vestaの場合、デフォルトはadminです。 DOMAINは、証明書を受け取るドメイン変数です。 site.comなどのベアホストを指定する必要があります



その後、すべてが時計仕掛けのようになります。 インストールに必要なディレクトリへの移行が行われ、githubからのリポジトリが複製されます。 構成ファイルを保存するためのディレクトリが作成されます。 その後、構成リンクが作成され、Apacheサーバーが再起動されます。



サーバーが再起動された後、Let's Encryptサーバーに要求が行われ、特定のユーザーおよびドメインの証明書を生成および取得します。 すべての証明書と構成はVestaに対して完全に自動的に作成され、設定のサイトはSSLをサポートするものとしてマークされます。



ユーザー名がadminの場合、指定したドメインの証明書がディレクトリ/ home / admin / conf / webにコピーされ、さらに2つの追加の構成が表示されます:shttpd.confとsnginx.conf。 最初はApache、2番目はNginxです。 ルートディレクトリのパスを修正する必要がある場合は、これらの設定でこれを行うことができます。パスはデフォルトでpublic_htmlに登録されるためです。



そのため、rootとしてsshをサーバーに移動します。 スクリプトを作成するか、単にコマンドを手動で入力します。 スクリプトを作成した場合は、実行権を置くことを忘れないでください-755。スクリプトを実行します。 サイトには既に証明書があります。 あとは、httpからhttpsへの301リダイレクトを行うだけです。



証明書は90日間のみ有効です。 したがって、スクリプトの最後の行により、自動モードで60日ごとに新しい証明書を受け取ることができます。



Laravel 5.3フレームワークを使用する場合、すべての画像とリンクがhttpsを介して機能しないが、httpプロトコルを引き続き使用するという困難に直面します。 エラーがすぐにユーザーに表示されるもの。



この問題を解決するためのシンプルでエレガントなソリューションがあります。 AppServiceProvider.phpのリンクを「強制」するだけです。



  public function boot() { // If production site. if (env('APP_ENV') === 'production') { // Change all links to https. \URL::forceSchema('https'); } }
      
      







コードからわかるように、強制の本質は、すべてのリンクを自動的に新しいプロトコルに置き換えることです。



以上です。 さまざまなサイトでこのトリックを実行したい場合は、スクリプト内のドメインを必要なものに変更するだけです。



フィナーレには何がありますか? 1行で1つのスクリプトを実行する:sh ssl.shそして、あなたのサイトはすでに不必要な頭痛のない安全なプロトコルで動作しています。 皆さん、頑張ってください。



All Articles