2017-03-15 14 views
0

私は、無料のティアを使用してHeroku上でホストしているparse-serverを実行しているノードサーバーを持っています。 AngularJSを使用してWebアプリケーションを構築し、サーバーからデータを取得しました。ローカルに開発した後、私はまた、Herokuの上でWebアプリケーションをホストされている、といくつかの理由のために私は次のようになり、すべての私のイメージのための混合コンテンツの警告を取得:AngularJS、Parse-Server、Herokuを使用した混在コンテンツの問題

混在したコンテンツます。https「でのページ:// MYWEBAPPを。 herokuapp.com 'はHTTPS経由で読み込まれましたが、安全でない画像を要求しました
' http:// MYPARSESERVER.herokuapp.com/parse/files/SOMEIMAGE.jpg '。このコンテンツは、HTTPS経由でも配信する必要があります。

私のparse-serverはhttpsを使用していますが、何らかの理由でファイルのリクエストがhttpを経由しているようです。

これは私の初めてのビルドとスタック全体のホスティングなので、これが私のAngularアプリ、パースサーバ設定、またはheroku設定の問題であるかどうかは完全にはわかりません。

誰かが潜在的に問題が発生する可能性のあるアイデアがあれば、明確にするためのコードスニペットを提供できます。助けてくれてありがとう!

コードサンプル:私の角度アプリでapp.js

function parseInit($rootScope) { 
    Parse.initialize("MY_APP_ID"); 
    Parse.serverURL = 'https://MY_PARSE_SERVER.herokuapp.com/parse'; 

    $rootScope.currentUser = Parse.User.current(); 
} 

問題を引き起こしているように思わFileオブジェクトを含むバックエンドからのデータを、取得する例:

function getEvents() { 
    let q = $q.defer(); 

    let Event = Parse.Object.extend('Event'); 
    let query = new Parse.Query(Event); 

    query 
    .include('poster') 
    .find({ 
     success: (events) => { 
     q.resolve(events); 
     }, 
     error: (object, error) => { 
     q.reject(error); 
     } 
    }); 

    return q.promise; 
} 

私の解析サーバ内のapp.js

const express = require('express'); 
const ParseServer = require('parse-server').ParseServer; 
const ParseDashboard = require('parse-dashboard'); 
const path = require('path'); 
const env = require('./env.json'); 

var node_env = process.env.NODE_ENV || "development"; 
var config = env[node_env]; 

var api = new ParseServer({ 
    databaseURI: process.env.MONGODB_URI || config.databaseUri, 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: MY_APP_ID, 
    masterKey: MY_MASTER_KEY, 
    serverURL: process.env.SERVER_URL || config.serverUrl, 
    facebookAppIds: ["MY_FACEBOOK_APP_ID"], 
    revokeSessionOnPasswordReset: true 
}); 

var dashboard = new ParseDashboard({ 
    "apps": [{ 
     "serverURL": process.env.SERVER_URL || config.serverUrl, 
     "appId": config.appId, 
     "masterKey": config.masterKey, 
     "appName": "api", 
    }] 
}); 

var app = express(); 

// Serve the Parse API on the /parse URL prefix 
var mountPath = process.env.PARSE_MOUNT || '/parse'; 
app.use(mountPath, api); 
app.use("/dashboard", dashboard) 

var port = process.env.PORT || 1337; 
app.listen(port, function() { 
    console.log('Running on port ' + port + '.'); 
}); 

process.env.SERVER_URLを設定し、私のHerokuのでとして渡され、現在、HTTPSさ:// MY_PARSE_SERVER.herokuapp.com/parse

+0

あなたの 'serverURL'とは何ですか? – zwl

+0

@zwl 角型アプリの場合は? https:// MYPARSESERVER.herokuapp.com/parse – mtpeoples

+0

これは、構文解析サーバー構成に設定した値を意味します。 – zwl

答えて

0

この質問は、あなたの問題はかなり漠然としたスタック内のどこであるか、とのより複雑なことができています全体のアプリケーション構成。あなたが適切にすべてのサーバー側を構成したと仮定すると、

... AngularJS側から

、私はどこでもあなたがテンプレートで(自分のエラーメッセージから)<image>または<script>タグを持っていていることを確実になりますHTTPではなくhttpsを使用してリソースを要求しています。

+0

私のすべての画像は、私の解析バックエンドから取得されます。何らかの理由で、他のすべてのリクエストがhttps:// myserver.herokuapp.com/parseに送られているにもかかわらず、すべてのファイルリクエストがhttp:// myserver.herokuapp.com/parse/filesからリクエストされているようです。私は、サーバからのコードスニペットと、それを明確にすることができるならば私の角度のinitを含めることができます。 – mtpeoples

+0

あなたの設定のいくつかのコードサンプルが本当に助けになるでしょう –

+0

遅れて申し訳ありません、関連コードを追加しました。他に何かが役に立つのであれば教えてください。 – mtpeoples

関連する問題