脱力系備忘録BloG ホーム »サーバー

PHPのfopenやfile_get_contentsでSSL接続が出来たりできなかったりしたメモ  

とあるレンタルサーバーのPHPで

fopen('https://~', 'r');

とやったときに接続できるURL、できないURLがあったので「なんでかなあ」と悩んだのですが、レンタルサーバーのPHPが「SNI」をサポートしてないのが原因でした。

どうしようもないです。はい。

PHPのSNIについては
SSL コンテキストオプション
を参照ください。

SNIを簡単に説明すると、
SSL通信はHTTPヘッダーが暗号化されているので一つのIPで複数ドメイン・ホストを動かしているサーバーでは、どのドメイン・ホストに接続したいのか分かりません。なので名前ベースのバーチャルホストを使っているサーバーはSSL通信ができないのですがそれをできるようにするのがSNIの仕組み。
サーバーとクライアントの両方が対応している必要があります。一般的にクライアントはブラウザになりますが、今回の私の場合はPHPがクライアントとなるわけです。

category: サーバー PHP

Puttyでサーバー接続が切れるときと切れない時がある解決策  

自宅サーバーにPuttyで接続するのですが、自宅内からLAN経由で接続するとパソコン操作を放置したときにタイムアウトでPutty接続が切断されることがある。
しかし、出先からインターネット経由で接続しているときは切断されない。

●使っているソフトはPutty
●使っているパソコンは同じ
●接続先は同じ自宅サーバー

違いは・・・インターネット回線かLAN回線の違いか・・・。

category: パソコン サーバー

PHP file_get_contents 関数の SSL operation failed エラー  

今まで動いていたPHPが
file_get_contents(): SSL operation failed
こういうエラーを吐いて動かなくなったとき、それはPHPを動かしているサーバーのルート証明書が古くなったのが原因です。なので更新する必要があります。

ルート証明書は
●Linuxの場合
ca-certificates.crt
ca-bundle.crt
というファイル名のようです。ディストリビューションによってファイル名が違うようです。
Linuxはたくさん情報がありますのでそれぞれ検索してください。

●FreeBSDの場合
ca-root-nss.crt
というファイルになります。
FreeBSDをインストールしただけでは存在しません。OSインストール後pkgコマンドでインストールします。
インストール場所は
/usr/local/share/certs
です。

ここではFreeBSDのルート証明書のアップデート方法を備忘録しておきます。

まずバージョンをチェックしてみます。
# pkg version
ca-root-nss-***<

のように「<」マークがついているとそれは最新バージョンがあるという意味です。

# pkg upgrade ca-root-nss
で更新できます。

category: サーバー

アマゾンで怪しい中華LANケーブルを買ってみた  

アマゾンにずらりと並ぶいわゆる「令和最新版」系中華パーツ。今まで手を出さないようにしてました。

だけど今回、一時的に長い平型のLANケーブルが必要になり、なるべく安く済ませたいなあと思って買ってしまいました。

lovicool LANケーブル イーサネットケーブル CAT6準拠 ウルトラフラットケーブル やわらか 20m ホワイト アクセスポイント等に適用います モデム対応
lovicool

category: 買ってみた パソコン サーバー

iperf3で帯域測定!使い方とインターネット品質の調べ方  

インターネット回線の通信品質の調べ方
インターネット回線の通信品質状況を調べたいとき私は以下のサービスをよく使います。

USEN - インターネット回線スピードテスト

Netflix - Fast.com

ただし、これらはあくまでもインターネット回線の通信速度になりますので、プロバイダーの混み具合や地域の回線使用状況で数値がコロコロと変化します。
プロバイダーの乗り換え判断には便利ですが、自宅の通信環境の品質測定には使えません
自宅の環境を調べたいときは「iperf」という便利なツールがあります。

category: パソコン サーバー

FreeBSDセキュリティーパッチの適用やアップデートのコマンド  

詳細は以下参照

第16章 FreeBSD のアップデートとアップグレード

セキュリティーパッチの適用について抜粋すると
# freebsd-update fetch
# freebsd-update install

をrootにて実行。
その後、
# freebsd-version -k
# uname -r

の2つのコマンドを実行して表示されるバージョン内容が異なっている場合はカーネルが更新されているので再起動
# reboot
が必要です。

マイナーバージョンアップ、メジャーバージョンアップもこのコマンドで実行できます。

テストマシンでマイナーバージョンアップ試してみましたが、時間はかかるが実に簡単に更新できます。やり方を抜粋すると、

category: サーバー

Whoisコマンドの使い方  

近年Whois情報が簡単に調べられなくなっている。
これは「Whois Privacy」のようなWhois情報を隠すサービスで見られないということではなく、ドメイン管理会社などが提供しているWhois検索機能を使ってもそもそもWhois情報が見つからない。または、表示されてもそのドメインはWhoisを公開しているのにドメイン管理会社の情報が表示される。という状態。

ちょっと困ったことがあったので調べてみたら、UNIX系OSにはwhoisコマンドというものがある。

使い方は

$ whois 調べたいドメイン名

利用しているレンタルサーバーで実行したところコマンドがありませんと言われました。そこで、自前のFreeBSDサーバーで実行したら動きました。
OSによって標準で入っている場合と入ってない場合があるようです。

category: サーバー

ヤマハルーターNVR500からRTX810に交換コンフィグ移行  

長年使っていたヤマハのルーター「NVR500」がどうも調子が悪い。
NVR500→RTX810_01.jpg

頻繁にDNSでの名前解決に失敗し接続できないというエラーが出まくるようになりました。

category: 買ってみた サーバー

同じ秘密鍵でPuttyで接続できてWinSCPで接続できない  

結論

Puttygenで鍵を作るときに「EdDSA」で作れば接続できる。
WinSCP秘密鍵作成.png

category: パソコン サーバー

FreeBSDにapcupsdをインストール、設定した手順を備忘録  

オムロンからAPCの無停電電源装置(UPS)BR400S-JPに買い替えたのでフリーの連携ソフト「apcupsd」を使ってみることにしました。

PORTSから簡単にインストールできるので手順を残すほどのことでもないけどサーバー関係はまごまごしたくないので備忘録として残しておく。
なお、ここでのUPSの使い方はUPS一つにサーバー一つをUSBケーブルで接続するというシンプルな使い方です。

category: 買ってみた サーバー

プロフィール

お問い合わせ

最新記事

最新コメント

▲ Pagetop