VagrantとHomesteadをインストールして、アプリをローカルでテストしました。 FirefoxとChromeでhttp://mysite.app
にアクセスすると、すべてが正常に機能します。ただし、Safariはhttp
/非セキュアバージョンのサイトの使用を許可せず、自動的にセキュア(https)バージョンにリダイレクトします。たとえば、http://mysite.app
にアクセスすると、https://mysite.app
にリダイレクトされます。
他のブラウザ(FirefoxおよびChrome)はリダイレクトされず、標準の非セキュアバージョンを使用できます。そのため、サーバーによって強制されるリダイレクトではありません。
Safariでhttps
バージョンにアクセスできる場合、リダイレクト自体は実際には問題になりません。ローカルの開発環境であるため、SSL証明書は自己署名されており、Safariは信頼できない証明書を使用してサイトにアクセスすることを許可しません。そのため、最後に、Safariを使用してこのVagrantサイトにアクセスすると、常にSafari can't establish a secure connection
エラーが発生します。
Safariは、自己署名証明書を受け入れる方法を提供していません(もう?)。繰り返しますが、これはChromeまたはFirefoxの問題ではありません。Firefoxを使用すると、ブラウザから例外を直接追加できるためです。
Safariでhttp
バージョンのサイトまたはを使用する方法はありますか?Safariが自己署名証明書を信頼するようにしますか?
参考までに、High Sierra 10.13.2 BetaでSafari 11.0.2を使用しています。 iMacとMacbookAirでも同じ結果が得られるため、コンピューターに関連するものではありません。
SafariがSSLを強制し、このVagrant/Homesteadボックス(FirefoxやChromeなど)で私のサイトの非セキュア(http)バージョンを使用したくない理由を見つけられませんでしたが、自己をマークする方法を見つけましたMacOS Keychain Accessで信頼されている署名済みサイト証明書。
Safariを使用すると、ブラウザに例外を直接追加して、無効なSSL証明書を使用してサイトにアクセスできるため、以前のバージョンのMacOSでは問題になりません。このオプションは、Safari 11(High Sierra)で消える継ぎ目です。
Vagrant Webサイトにアクセスするソリューション サイト証明書を保存する ホストコンピューターで(Vagrantボックスまたは別のブラウザーへのssh接続を使用して)、キーチェーンに追加し、信頼済みとしてマークします。
ただし、Keychain Accessに関する別の問題が発生しました。これは以前のバージョンのMacOSで機能していましたが、High Sierra(または少なくとも10.13.2 Beta)では、Keychain Accessアプリから信頼できる証明書としてマークする機能はなくなりました。私のiMacとMacbookAirの両方で、キーチェーンに追加された証明書をダブルクリックしても何も起こりません。 Get Info
コンテキストメニューから、証明書を編集する機能は提供されません。
これの回避策 は、コマンドラインを使用して証明書を信頼済みとしてマークすることです。ターミナルを使用して、cd
をコンピューター上の証明書が保存されているディレクトリに移動し、次のコマンドを実行します。
Sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain example.app.cer
変化する example.app.cer
証明書の名前。これにより、証明書がKeychain Accessで信頼済みとしてマークされ、有効な証明書で署名されているかのようにローカルサイトにアクセスできます。
tl; drVagrant/Homesteadボックスから取得したサイト証明書をキーチェーンに追加し、コマンドを実行して、https接続を使用します。
前の答えは完全に正しいわけではありません。 macOS High Sierra has Keychain Accessアプリを介して証明書を信頼するため、CLIは不要です。
手順:
できた.