2015年7月1日水曜日

さくらインターネットのFTPサーバーにWindows7エクスプローラーのFTP機能でアップすると文字化け

さくらインターネットのマネージドサーバーでは、ファイル共有できるWebDAVが利用できる。

Windows7からは、まあまあ問題なく利用できるようなのだが、MacのFinderから使用しようとすると、頻繁にエラーが発生し使い物にならない。Mac OSXのWebDAVクライアント機能には問題があるようだ。

仕方なくMacでは、WebDAVクライアントとしても使用できるCyberduckから今年の4月位まで使用してもらっていたのだが、6月になって再度使用しようとしたら接続できないとのこと。
発生するエラーは、Interoperability failure Handshake alert: unrecognized_name である。

https://trac.cyberduck.io/wiki/help/en/howto/dav
上記ページによると、The virtual host setup by the hosting provider is most possibly misconfigured. It must accept TLS connections with SNI (Server Name Indication) extension (RFC 4366).
とある。

http://d.hatena.ne.jp/ttshiko/20121103/1351927402
また、上記ページによると、Java7からSNIがデフォルト有効になったとあり、こちらでも、Java6を使用する古いバージョンのCyberduck(Ver. 4.2.1等)では接続できることを確認している。

さくらインターネットでSNI SSLの提供を開始したのが同年2月4日とのことで、当該サーバーに設置したドメインにSNI SSLを設定したのが同年3月24日頃だったので、こりゃあ間違いなくSNI SSL関連の影響に違いないと思いサポートに連絡したのだが、

JAVA 7ではデフォルトの設定で、HTTPS通信時にSSL証明書の有無に関わらず、
SNIを確認する動作となっており、こちらがCyberduckとサーバー間の接続の際に
エラーを発生させているようでございます。

しかしながら、弊社では個々のWebDAVクライアントソフトの動作保証はしておらず、
また、マネージドサーバーという特性上、お客様個別にApacheの仕様等変更も
承っておりません。

こちらでは、4月くらいまで使用できていた環境そのままで何の変更もしていないのだが・・・。

仕方がないのでFTPサーバーで代替する。

Windows7のエクスプローラーにはFTP機能があるので、それほど違和感なく使用してもらえるだろうと思って安心していたのだが・・・。

しばらく運用していると、日本語ファイル名がたまに文字化けしていることが多くなってきた。以前Macで作成した圧縮ファイルをWindowsで解凍すると文字化けすることがあったので、それをそのままアップロードしたんだろう位に思っていたのだが、どうもそれだけではないらしい。

https://support.microsoft.com/en-us/kb/2416991/ja
上記ページによると、「Windows エスクプローラーの FTP 機能では UTF-8 エンコーディングを使用するためのネゴシエートを FTP サーバーとの間で行いますが、UTF-8 エンコーディングを使用した場合、文字コード変換が正しく機能しないため、この現象が発生します。」とのこと。
この現象を回避するには、FTP サーバーで、UTF-8 の許可設定を無効にしてください。」だそうだ。

さくらインターネットのコントロールパネルをみても、そのような設定は見当たらない。
サポートに連絡したら、そもそも
恐れ入りますが、弊社サーバでは日本語を利用したファイル名及び
フォルダ名は、対応しておりません。
だそうだ。Webサーバーを管理するための使用なら、まあ困らないよね。

たかがファイル共有だとどこかでバカにしてましたが、簡単じゃないね。

0 件のコメント:

コメントを投稿