私のレールアプリケーションを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
では私が変更しました問題。どんな助けでも大歓迎です。
あなたのコードでは、どこかに 'localhost:3000'がハードコードされています。あるいは、あなたのデプロイメントがあなたのためにそれを行いましたあなたのコードで 'localhost:3000'のグローバル検索を行い、それがどこにあるのかを見ることから始めます。さらに、これはRailsやPuma、あるいはApacheの設定でも発生する可能性があります。 – Vlad
私が見つけた唯一の事は、これは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