2016-12-31 10 views
0

私のレールアプリケーションをUbuntu 16.04 Dropletにデプロイしました。レールサーバーがローカルコンピュータから実行されているときは、ブラウザのmyappname.comでWebサイトを表示できますが、レールサーバーをシャットダウンするとCSSが失敗します。Rails:Ubuntuサーバの代わりにユーザのローカルホストからロードするプロダクションアセット

さらに、ローカルコンピュータ以外のデバイスからアクセスする他のすべてのユーザーにとって、CSSは常に失敗します。

ここで問題となっているのは、自分自身のサイトではなく、サイトを訪問した人のローカルコンピュータからファイルを取得しようとしている場所です。エラーごとに私が見ている:

http://localhost:3000/assets/jquery-ui/accordion.self-ahsdjhkjads98ha98shd8ha98hds98hadskjhfo4h8fw9hhw398hhiuh9sd8h8hs89fdhj.css?body=1 Failed to load resource: net::ERR_CONNECTION_REFUSED 

それはそこには「localhost」を言うので、そのページをロードしようと誰もが自分のローカルコンピュータ上で何かでそれをロードしようとします。実際にはこの場合ポート3000でリッスンしているのは自分のコンピュータだから、自分のサイトがコード化されているので、ローカルホストではなくCSSアセット自体が引き出されるように調整する必要があります。 、私はbundle exec rake assets:precompileを走った私の本番環境での私のUbuntuサーバー上のその後

config.serve_static_files = true 

sudo service apache2 restartでサーバーを再起動し、それでも解決できませんでした:

config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present? 

へ:

config/environments/production.rbでは私が変更しました問題。どんな助けでも大歓迎です。

+1

あなたのコードでは、どこかに 'localhost:3000'がハードコードされています。あるいは、あなたのデプロイメントがあなたのためにそれを行いましたあなたのコードで 'localhost:3000'のグローバル検索を行い、それがどこにあるのかを見ることから始めます。さらに、これはRailsやPuma、あるいはApacheの設定でも発生する可能性があります。 – Vlad

+0

私が見つけた唯一の事は、これはclient_secret.json内でした: '{" installed ":{" client_id ":" 8934589754879453897-kjasdjhd898d98ahid9ha89cad.apps.googleusercontent.com "、" project_id ":" magnetic-clone-123133 "、" auth_uri ":" https://accounts.google.com/o/oauth2/auth "、" token_uri ":" https://accounts.google.com/o/oauth2/token "、" auth_provider_x520_cert_url ":" https:///www.googleapis.com/oauth2/v1/certs "、" client_secret ":" KJHhhhhdddd8asya87s7 "、" redirect_uris ":[" lkslckncs; ncjnskdj; sndckj; "、" http://localhost.com "]}}}。これが修正だと思って 'localhost'を' pawbookings'に変更しましたが、そうではありませんでした。 – Ctpelnar1988

答えて

0

ドメインにconfig.asset_hostconfig/application.rbに設定することはできますが、リバースプロキシが誤って設定されているように聞こえます。

+0

ありがとう、私は試みましたが、これは問題を解決しませんでした: – Ctpelnar1988

関連する問題