質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Q&A

解決済

2回答

1095閲覧

curl コマンドでファイルを取得したいのですがエラーが出て取得できません。

sassan738

総合スコア32

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

0グッド

0クリップ

投稿2019/08/03 19:46

現在RailsTutorialをやっていてページに表示する画像をrailsアプリケーションのapp/assets/imagesファイルにダウンロードしないといけません。
環境はWindows10にVirtualBoxとVagrantというソフトをインストールしてローカル環境で勉強しています。
仮想環境のOSはCentOS6というものです。
コンソール画面にて以下のコマンドを入力したのですがエラーが出て取得できません。

[vagrant@localhost sample_app]$ curl -o app/assets/images/rails.png -OL railstutorial.jp/rails.png % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (60) Peer certificate cannot be authenticated with known CA certificates More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.

エラーメッセージを翻訳してみると以下のようになりました。

curl:(60)ピア証明書は既知のCA証明書では認証できません 詳細はこちら:http://curl.haxx.se/docs/sslcerts.html curlはデフォルトで "バンドル"を使ってSSL証明書の検証を行います。   認証局(CA)公開鍵(CA証明書)のリスト。 デフォルトの場合   バンドルファイルが適切ではありません。代替ファイルを指定できます   --cacertオプションを使用します。 このHTTPSサーバが、で表されるCAによって署名された証明書を使用する場合   バンドルでは、証明書の検証が失敗した可能性があります。   証明書に問題があります(有効期限が切れているか、名前が   URLのドメイン名と一致しません。 curlによる証明書の検証を無効にしたい場合は、   -k(または--insecure)オプション

「バンドルファイルが適切ではありません」とあるのですが、これは現在作っているsample_appのバンドルファイルのことですか?
メッセージにある-kコマンドを使用してみたのですがうまくいきませんでした。

[vagrant@localhost sample_app]$ curl -o -k app/assets/images/rails.png -OL railstutorial.jp/rails.png curl: (6) Couldn't resolve host 'app'

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「-k」オプションはサーバー認証機能をオフにしますのでおすすめしません。
(使う場合は -k -o の順番です)

SSLのセキュリテーエラーが出ていますね。
最初の回答者の内容を確認してください。
・PCの時刻設定がずれていないか? → ずれていれば直す
・PCが持っているCAリストが古くないか? → アップデートする

投稿2019/08/04 12:33

meg_

総合スコア10577

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sassan738

2019/08/04 20:57

回答頂きありがとうございます。NTPの設定をしてみたところ、画像をダウンロードすることができました。 コメントの内容的に-kは使わない方が良さそうだと思いつつ、めんどくさくて使ってしまいました。ちゃんと問題を解決することが大事ですね。
meg_

2019/08/05 08:42

ハードウェアクロックの同期の設定はされましたか?もしまだならした方が良いです。
meg_

2019/08/05 11:53

ハードウェアクロックは「(sudo) hwclock」で表示される時刻のことです。(ほんのわずかOS時刻とずれているはずです) サーバーを再起動したときはこの時刻を最初に読み取りますので、NTP時刻と同期させます。 参考:https://qiita.com/ntkgcj/items/0ef1c02665b3d9a3971d 【ハードウェアクロックの時刻を設定】と【ハードウェアクロックへ定期的に同期する設定】のところ
sassan738

2019/08/05 13:11

そのような設定が必要なのですね。教えていただきありがとうございます。 【ハードウェアクロックへ定期的に同期する設定】についてなのですが、/etc/crontabを以下のように編集したのですが、これで大丈夫ですか? SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 0 5 * * 0 root /sbin/hwclock -w > /dev/null 2>&1 # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
meg_

2019/08/05 13:38

会社のサーバーであれば、確実に稼働している曜日に設定した方が良いでしょう。(会社によっては休電日とかあるので) また「> /dev/null 2>&1」はエラーを出なくしてしまうものです。推奨している人とやってはいけないという人といますので、調べて判断お願いします。 ※私の場合はエラーログを出力するようにしています。ご参考まで。
sassan738

2019/08/05 14:24

「> /dev/null 2>&1」についても調べてみます。 もし、13時にも時刻を同期したい場合は、 0 5 * * 0 root /sbin/hwclock -w > /dev/null 2>&1 0 13 * * 0 root /sbin/hwclock -w > /dev/null 2>&1 のように追加すればいいのですか?何度もすみません。
meg_

2019/08/05 14:29

時間のところで「5,13」と書けます。
sassan738

2019/08/05 15:25

分かりました。ありがとうございます。
guest

0

ベストアンサー

ca-certificatesのアップデートか時刻のずれを確認してみてください
http://hiracy.hateblo.jp/entry/%3Fp%3D319

投稿2019/08/03 22:23

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sassan738

2019/08/04 20:41

回答頂きありがとうございます。NTPの設定をしてみたところ、画像をダウンロードすることができました。 もしよければ教えていただきたいのですが、LINUXについてはドットインストールのレッスンに従ってセットアップしただけで全然知識がないんです。こういったことはエラーにぶつかったときにその都度調べて覚えていくものなのか、書籍などを参考にざっと学んだ方がいいのかどっちでしょうか。また、おすすめの本などはありますか。
scsi

2019/08/04 21:08

解決したなら解決済みにしてください。 昨日出来てたことが今日出来なくなることはよくあるので都度原因を調べて解決することになるかと思います。また、Centos6なんて今更勉強しないで7を勉強するべきかと思います。オススメの本はないです。ネットで十分です。
sassan738

2019/08/05 08:16

失礼しました。 centos7について調べてみます。回答頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問