macOS Sierra が登場して半年以上経ちますが、実はリリース当初から解決できていなかった不具合を回避する方法をようやく見つけましたのでシェアします。
「macOS Sierra + Chrome + 企業内ネットワークでの利用」という限定的な条件でおこる不具合ですが、どハマりする上、情報も少なく苦労しました・・・。
どんな不具合?
企業オフィスなどのイントラネット環境からインターネットへアクセスする際、スピード向上やセキュリティ対策のためプロキシサーバを経由することが多いと思います。
そんなとき、自動プロキシ構成ファイル(PACファイル)が提供されることがあるのですが、このPACファイルを利用するとGoogle Chromeを利用してのインターネットへのアクセスが極端に遅くなるという不具合です。
さらに不具合発生の条件にはもう一つあります。それは「システム環境設定 > 共有」にある共有サービスを1つも使っていないことです。この共有サービスはユーザが意図して使わない限りは有効になることはないので、ほとんどの人がこの条件には当てはまると思います。
どうやったら解決できる?
2つ方法があります。
1. 共有サービスのいずれかを有効にすること
「システム環境設定 > 共有」にある何らかのサービスを有効にすれば良いだけで、簡単な解決方法ですが、必要がない共有サービスを動作させる必要があるためセキュリティ上は好ましくありません。
2. /etc/hosts ファイルに「コンピュータ名.local」のIPアドレスが 127.0.0.1 であることを記載すること
確実な方法なのですが /etc/hosts というファイルは OS にとって重要なファイルなため不適切な更新は最悪 OS が起動しなくなるという危険もあります。
※下記方法は自己責任で設定願います。
はじめに自分のMacの名前を「システム環境設定 > 共有」で確認します。「コンピュータ名」がそれにあたります。
この例だと、MyMac です。
次にテキストエディタなどで /etc/hosts ファイルに赤字のように MyMac.local を加えて保存します。
127.0.0.1 localhost MyMac.local
255.255.255.255 broadcasthost
::1 localhost
以上です。
もし、編集の後、何らかの共有サービスを利用したくなったときはこの記載を削除しましょう。
不具合発生のメカニズムと解決方法の元ネタ
この不具合 macOS Sierra へアップデートした直後から発生していました。他のブラウザ Safari や Firefox では起こっていなかったことから、Chrome の不具合だろうからいつか治るだろうと待っていました。ネット上にも日本語での有益な情報が見つからなかったため、他の方法でプロキシを設定していました。
しかしいつになっても改善されないので、今日改めてネットを検索すると同じ悩みを抱えているユーザが海外には多数おり、この記事を見つけました。
質問を抜粋、
BUT in chrome Version 54.0.2840.87 (64-bit), which should use also the system proxy configuration everything is very slow and I always see, in the status bar, the message :
Resolving host in proxy script...
I’ve found the following thread about Proxy Pac and Sierra but it doesn’t help.
この質問通りの現象が今回起こってました。以前この質問にもある「Proxy Pac and Sierra」も見つけてはいたものの解決には至らない情報でした。
質問の回答、
I had a similar problem but it was only happening when using Chrome over a VPN connection, Safari was ok. Looking at the Chrome events using
chrome://net-internals/#events
I noticed that I hadHOST_RESOLVER_IMPL_JOB
events that were trying to connect toMy-MacBook-Pro.local
but failing. I could pingMy-MacBook-Pro
but notMy-MacBook-Pro.local
.I resolved it by going to System Preferences -> Sharing and turning on one of the services (Printer Sharing, File Sharing etc). Once I had done that I could ping
My-MacBook-Pro.local
and Chrome started responding properly.
が大きなヒントになりました。コンピュータの名前解決ができていなかったんですね。
まとめ
ということで、半年がかりの悩みが解決し、社内でMacが快適に使えるようになりました。たまには過去に諦めた問題の解決にトライしてみるのもいいもんですね。