Re: 混在アクティブコンテンツ
2023年8月29日 22時32分 [公星]
VPSでApacheサーバーを立ち上げた時、
「http の状態で Connect-CMS のインストールを完了して幾らかを試し、
その後に https で使えるように各種のモジュールや証明書などを導入したから」
ではないかと推測します。
以下の目的、注意点などご確認いただき、ご使用ください。
当フォーラムでは、Connect-CMSのトラブルなどの相談も記載いただけますが、作業を肩代わりするものではありません。
作業の依頼は、株式会社オープンソース・ワークショップの調査メニューなどをご検討ください。
https://opensource-workshop.jp/service/rescue
VPSでApacheサーバーを立ち上げた時、
「http の状態で Connect-CMS のインストールを完了して幾らかを試し、
その後に https で使えるように各種のモジュールや証明書などを導入したから」
ではないかと推測します。
初めまして。
connect-cms を初めてインストールしてみました。最終的には上手くいったのですが、最初、
> 混在アクティブコンテンツなので読み込みをブロックしました
というブラウザの警告があり、cssなどが読めない状態で苦戦しました。
色々と調べて
app/Providers/AppServiceProvider.php に
use Illuminate\Support\Facades\URL;
public function boot()
{
if (env('APP_ENV') === 'production') {
URL::forceScheme('https');
}
}
と書き込んだら成功したのですが、これはどういった原因だったのでしょうか?
なお、環境は以下のとおりです。
ConoHa VPS + AlmaLinux release 8.8 + Apache/2.4.37 + PHP 8.0.27
VPSでApacheサーバーを立ち上げた時、
「http の状態で Connect-CMS のインストールを完了して幾らかを試し、
その後に https で使えるように各種のモジュールや証明書などを導入したから」
ではないかと推測します。
確かに最初は試行錯誤状態で https://github.com/opensource-workshop/connect-cms/wiki/Install の記載順にはいかなかったのですが、 URL::forceScheme('https'); を付けて上手くいくことを確認後に、改めて connect-cmsのインストールを 全てを最初からやり直しても、状況は変わらずでした。 謎ですが、このサーバでは forceScheme を付けて運用しようと思っています。 アドバイスをありがとうございました。
たまたまConohaVPSのアカウントと、
自分用に作った「ConohaVPS用Connect-CMSインストールマニュアル」
( Conohaのテンプレートを使わず、自分でダウンロードしてきたAlmaLinuxでインストールする)
があったので、検証してみました。
結論的には問題なくインストールでき、
「CSSが読めない」などの状況は再現できませんでした。
https://kyouno.hey-sha.com (SSL証明書は未取得。勇気があればどうぞ)
何かしらのやらなかったことか、やってしまったことがあるのかもしれません。
申し訳ございません。
検証環境は以下のとおりです。
・自分でダウンロードして用意する AlmaLinux のOSではなく、
ConohaVPSが用意している AlmaLinux 8.7 のテンプレートを使い、
途中にカーネルのアップデートで AlmaLinux 8.8 にした
・テンプレートの初期設定により、SELinux は Disabled
・Apache 2.4.37
・PHP 8.0.30
・MariaDB 11.1.2
・Connect-CMS 1.10.3
---
URL::forceScheme('https');
を付けて上手くいくことを確認後に、改めて connect-cmsのインストールを
全てを最初からやり直しても、状況は変わらずでした。
とあり、特に関係のないものと判断しましたので、
Apacheのインストールと一緒に mod_ssl もインストールを行い、
http でC-CMSの作業をした後にhttps化するという仮説は検証していません。
Connect-CMSのインストール後、http://~ 、https://~ でアクセスしましたが、
変化は見られませんでした。
.env で 「 APP_URL=http://localhost 」のまま、インストールしてもみましたが、
特に変わりませんでした。
---
何か再現上のヒントがあれば、教えてください。
よろしくお願いします。
追試までしていただき、ありがとうございます。 今の所やはり原因不明なのですが、こちらの実験状況をもう少々正確にお知らせします。 URL::forceScheme('https') 有り版 https://connect.ytac.info/connect-cms/ 無し版(混在アクティブコンテンツ状態) https://connect.ytac.info/test2023/ となっています。 ブラウザでも確認可能と思いますが、認証局は Let's Encrypt です。 また、httpd.conf では、以下の様に宣言しています。 ServerName connect.ytac.info DocumentRoot "/home/pub/www-connect" Alias /connect-cms /home/pub/www-connect/connect-cms/public Alias /test2023 /home/pub/www-connect/test2023/public なお、環境は以下のとおりです。 ConoHa VPS + AlmaLinux 8.8 + Apache 2.4.37 + PHP 8.0.27 SELinux Disabled + MariaDB 10.3.35 + Connect-CMS 1.10.2
ご提示、ありがとうございます。
確かに〈header〉〈body〉で自動生成されるURLの最初が軒並み、
http:// になっていますね。
【調べ事】
ページの下から1/3あたりに以下の記述がありました。
ロードバランサ―を介してhttps -> httpにリバースプロキシしている環境だとあるあるの事象みたい。
https://qiita.com/madayo/items/d9ea39320d78e1590d3e
Connect-CMSのインストール手順というより、
そのサーバー固有の設定が効いているのかもしれませんね。
リバースプロキシがどこかで関与しているかは私には分からないのですが どうも > Connect-CMSのインストール手順というより、そのサーバー固有の設定 といったところに原因があると、私も推測いたします。 元々このサーバは臨時の実験用であることと、この場合でも何とか解決策は見つかったので特に支障はない状態です。 この経験の共有がどなたかの参考になれば幸いです。 【調べ事】までしていただき、ありがとうございました。
勉強になるかと試みましたが、
私の力量では再現できませんでした。申し訳ございません。
resources/views/layouts/app.blade.php ファイルの 80-81行目に
とあるため、表示されているWebページのURLを元に
CSSやjsまでのリンクを作成しているように思います。
---
私にはお手上げですが、artisan があるディレクトリにいき、
Laravelのキャッシュをクリアしてみてはいかがでしょうか。https://obataka.com/laravel-cache-commands/
app.blade.php のことなど、勉強になります。
また、.env などを後から変更した時に注意すべきことも気にはしており、
今回の実験では、念のために全て最初からやり直すことを繰り返していました。
キャッシュクリアコマンドがあるのですね。
今回の混在アクティブコンテンツ問題に関しては別の原因である様で変化は確認できませんでしたが、Laravel フレームワーク初体験なので、これも勉強になりました。
ありがとうございました。
再現として適切なのかは分かりませんが、
以下のようになりました。
--- --- ---
--- --- ---
https://kyouno.hey-sha.com/ (証明書は未取得。勇気がある方はどうぞ)
ConohaVPS: AlmaLinux 9.2( Conoha のテンプレートを使用。 SELinux は Disabled )
Apache 2.4.53, nginx 1.20.1, php 8.1.23, MariaDB 10.5.16, Connect-CMS 1.10.4
-----
nginx の設定で
と、
(nginx)https → (Apache)https ではなく、
(nginx)https → (Apache)http に転送をしていることに原因を求めました。
自分の勉強が追い付いていませんので、説明に難があると思いますが、
状況の説明を試みるとこんな感じにになりました。
Apache と nginx の合わせ技で再現されたのですね!
私の状況とは異なるものの、以前の
> ロードバランサ―を介してhttps -> httpにリバースプロキシしている環境だとあるあるの事象みたい。
というご指摘の様に、私の認識していない箇所で結果的に同様なことが起きているのだろう、と納得いたしました。
更なる検証をありがとうございました。
何かないかと探してみましたが、私の技量ではここまでのようです。
申し訳ございません。
→ 検証に使ったサーバーは削除しますので、次の用事ができるまでアクセスできなくなります。
この点に関し、ConohaVPSは便利です。
> 申し訳ございません。
とんでもないです。
私は connect-cms や Laravel の初心者であり、とても勉強になりました。
なお、私が最初に記載した
> 色々と調べて
> URL::forceScheme('https');
> と書き込んだら成功した
の箇所ですが、実は今流行りの ChatGPT に相談したら教えてくれました。便利な時代です。
お二方のやり取りを見ていて、同様の事象に遭遇しましたので、Connect-CMSv1.11.2で修正を取り込みました。
https://connect-cms.jp/plugin/blogs/show/2/5/495#frame-5
情報参考になりました。ありがとうございました。
v1.11.2 で解決しました。
混在アクティブコンテンツ状態であったサイトからのアップデート、
そして全く新規での インストール。
どちらもマニュアル通りの作業で問題なくアクセスできることを確認しました。
ありがとうございました!