2017-11-28 11 views
1

何らかの理由で、私がHerokuに展開するときに、私の高速ルートが動作しないことがあります。唯一の経路は、HTTPSの代わりにHTTPを使用してアプリケーションにアクセスするときです。ただし、Internet ExplorerとMicrosoft EdgeでHTTPSを使用するルートを取得できますが、Google ChromeとMozilla Firefoxではルートを使用できません。これはちょうど矛盾しているようですが、私はこれをReact、Express、Node、またはHerokuのバグです。これは.NETでのコーディングをやり直す気がしています。React、NodeJS、Express、Heroku。 HTTPSの不一致エラー

援助をいただければ幸いです。

は、下記の関連リンクです:

はHerokuの展開下記をご覧ください: http://youvote-fcc.herokuapp.com https://youvote-fcc.herokuapp.com

ログアウトサーバ側のルートがアクティブなセッションをクリアし、ユーザーをリダイレクトします。しかし、ChromeとFirefoxでは、HTTPSを使用すると、これは起こりません。代わりに、app.get( '*')ルートが呼び出され、ユーザーリクエストがReact Routerによって処理されます。ログを確認したところ、実際にログアウトルートに達していますが、エクスプレスサーバーからのアクションは、HTTPSを使用するとクライアント側に渡されません。ルートの順序は、これが起こることを許すべきではありません。さらに、これらのブラウザではHTTPSでしか発生しないので、非常に奇妙です。

+0

コードを投稿できますか?いくつかのエラーを投稿しますか?あなたの特急ルートを教えてください。私たちは本当に「ここではうまくいかない」以外にはあまり進んでいません。P – Jack

+0

私は理解します。しかし、それはかなり大きなプロジェクトです。だから私はいくつかのリンクを投稿します。 –

+0

私は、関連リンクといくつかのさらなる情報で質問を編集しました。これはうまくいきたいです。 –

答えて

1

問題が見つかりました。 React-Create-Appを使用する場合は、index.jsファイルにあるService Worker Registrationと関係があります。 import文を変更して{unregister}メソッドを取得し、registerServiceメソッドを削除して、同じ場所で登録解除を呼び出しました。これは私のインデックスファイルが今見える方法です。

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { Provider } from 'react-redux'; 
import { createStore, applyMiddleware } from 'redux'; 
import { unregister } from './registerServiceWorker'; 
import reduxThunk from 'redux-thunk'; 

import App from './components/App'; 
import reducers from './reducers'; 

const store = createStore(reducers, {}, applyMiddleware(reduxThunk)); 

ReactDOM.render(
    <Provider store={store}> 
    <App /> 
    </Provider>, 
    document.getElementById('root') 
); 
//Un-register Service Worker 
unregister(); 
+0

これがなぜ機能するのか説明できますか?私はHTTPとHTTPSで同じ問題を抱えていましたが、これが修正されました。 – Xeraqu

0

HTTPSを使用している場合は、HTTPS〜がHTTPSから来ていることを保証する必要があります。最初にチェックしたり、ブラウザのログ(chrom、firefox)にログを記録できますか?

+0

こんにちは、FirefoxやChromeのブラウザのログは表示されません。また、私のソースはすべて同じデプロイメント/サーバーにあります。 –

関連する問題