事象
下記のチュートリアルを見てサイトを完成させました。ローカル環境では問題なく動いていました。
herokuにアップすると詳細画面は表示されますが一覧画面が表示されません。(投稿が一件も表示されない)
https://www.hypertextcandy.com/vue-laravel-tutorial-list-photos/
ブラウザのコンソールにエラーが出ているのが原因だと思いました。
laravelのpaginate()メソッドが返すjsonの中にhttpのアドレスが含まれているせいだと思うのでこれを、httpsにする方法が知りたいです。
エラー内容
Mixed Content: The page at 'https://<アプリ名>.herokuapp.com/?page=1' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://<アプリ名>.herokuapp.com/api/photos?page=1'. This request has been blocked; the content must be served over HTTPS.
app/Http/Controllers/PhotoController.php
php
1 /** 2 * 写真一覧 3 */ 4 public function index() 5 { 6 $photos = Photo::with(['owner', 'likes']) 7 ->orderBy(Photo::CREATED_AT, 'desc')->paginate(); 8 9 return $photos; 10 }
Jsonの中身
json
1{ 2 "current_page":1, 3 "data":[ 4 { 5 "id":"EcrjI8oSchZG", 6 "url":"https://<バケット名>.s3.ap-northeast-1.amazonaws.com/EcrjI8oSchZG.jpeg", 7 "likes_count":0, 8 "liked_by_user":false, 9 "owner":{ 10 "name":"<名前>" 11 } 12 }, 13 { 14 "id":"nQAlljx922x3", 15 "url":"https://<バケット名>.s3.ap-northeast-1.amazonaws.com/nQAlljx922x3.jpeg", 16 "likes_count":0, 17 "liked_by_user":false, 18 "owner":{ 19 "name":"<名前>" 20 } 21 }, 22 { 23 "id":"DXcd2dMOE2J6", 24 "url":"https://<バケット名>.s3.ap-northeast-1.amazonaws.com/DXcd2dMOE2J6.jpeg", 25 "likes_count":0, 26 "liked_by_user":false, 27 "owner":{ 28 "name":"<名前>" 29 } 30 } 31 ], 32 "first_page_url":"http://<アプリ名>.herokuapp.com/api/photos?page=1", 33 "from":1, 34 "last_page":1, 35 "last_page_url":"http://<アプリ名>.herokuapp.com/api/photos?page=1", 36 "next_page_url":null, 37 "path":"http://<アプリ名>.herokuapp.com/api/photos", 38 "per_page":15, 39 "prev_page_url":null, 40 "to":3, 41 "total":3 42}
環境
Laravel Framework 5.8.35
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/30 15:04
2019/10/30 15:05
2019/10/30 15:53
2019/11/01 06:33