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

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

新規登録して質問してみよう
ただいま回答率
85.37%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Squid

Squidは、TCP/IPネットワークでのユーザーとサーバの通信を中継するオープンソースのプロキシサーバソフト。リバースプロキシやキャッシュサーバとして使用することも可能です。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

Q&A

解決済

2回答

10231閲覧

Proxy.pacの設定が読み込まれない

rfvujm2

総合スコア9

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Squid

Squidは、TCP/IPネットワークでのユーザーとサーバの通信を中継するオープンソースのプロキシサーバソフト。リバースプロキシやキャッシュサーバとして使用することも可能です。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

0グッド

0クリップ

投稿2020/09/13 06:06

編集2020/09/13 06:53

##Proxy.pac の設定が読み込まれません。

ESXi内でCent7とWindows10を構築し、Cent7でapacheとsquidを動作させています。

Cent7のルートディレクトリ内に配置したProxy.pacを、Windows10のプロキシの設定として読み込ませたいのですがうまく動作していません。

Squid、Apacheは正常に動作しています。
Windows10側のプロキシ設定を「セットアップスクリプトを使用する」ではなく、手動でプロキシサーバーを設定するとSquidにログが記録され、
また、「セットアップスクリプトを使用する」の設定のときは、ApacheのログでProxy.pacを取得しに来ていることを確認できています。
なお、この「セットアップスクリプトを使用する」の設定のとき、Apacheのログを見るとクライアントが数秒ごとにProxy.pacを取得しに来ています。

192.168.x.x - - [13/Sep/2020:15:30:34 +0900] "GET /proxy.pac HTTP/1.1" 200 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"

192.168.x.x - - [13/Sep/2020:15:30:34 +0900] "GET /proxy.pac HTTP/1.1" 200 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
192.168.x.x - - [13/Sep/2020:15:30:38 +0900] "GET /proxy.pac HTTP/1.1" 200 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
192.168.x.x - - [13/Sep/2020:15:30:42 +0900] "GET /proxy.pac HTTP/1.1" 200 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
192.168.x.x - - [13/Sep/2020:15:30:42 +0900] "GET /proxy.pac HTTP/1.1" 200 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
192.168.x.x - - [13/Sep/2020:15:30:46 +0900] "GET /proxy.pac HTTP/1.1" 200 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"

このとき使用しているのはchromeなのですが、 chrome://net-internals を確認してもプロキシサーバは設定されていません。

クライアント側の環境としましては
・IPアドレス→Cent7と同じセグメントに静的に手動で設定
・DNSサーバー→静的に手動で設定
・DGW→ルーター
です。
プロキシを使用する、にチェックを入れない場合は通常通りインターネット接続できています。
プロキシを使用する、にチェックを入れている場合、手動でプロキシサーバーを存在しないものに指定したときのみインターネット接続ができません。手動でプロキシサーバーを設定したときのみSquidのログが記録され、「セットアップスクリプトを使用する」を設定しているときには、Squidのログは記録されていないのにも関わらず、インターネット接続は問題なくできています。
プロキシサーバを使用するという設定で、プロキシサーバの設定が読み込まれていないのに、インターネット接続ができる、というのは正常な動作なのでしょうか?

些細なことで申し訳ありません。少しでもこの状況を改善したいので、どんなことでもコメントをしていただければ幸いです。

#####追記

Proxy.pac の内容になります。

java

1function FindProxyForURL(url,host) 2{ if (isPlainHostName(host) || 3 isInNet(host,127.0.0.1,255.255.255.255)) 4 return DIRECT; 5else 6 return PROXY 192.168.x.x:3128; DIRECT; 7}

私の認識では基本的に全てプロキシサーバを通じて通信されるものになっていると思っています。

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

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

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

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

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

guest

回答2

0

申し訳ありません、自己解決しました。
読み込まれない原因はproxy.pacの内容の不備でした。

java

1function FindProxyForURL(url,host) 2{ if (isPlainHostName(host) || 3 isInNet(host,"127.0.0.1","255.255.255.255")) 4 return "DIRECT"; 5else 6 return PROXY "192.168.x.x:3128"; "DIRECT"; 7}

追記に記載したように、元のproxy.pacには各項目に必要な「"」が記載されておらず、それが原因でproxy.pacが読み込まれなかったようです。
上記の形に修正したところ、正しくproxy.pacの設定が反映されるようになりました。

javaスクリプトを触ったことがなかったので、このようなことにも気づけませんでした。
otnさんに助言いただいた、
・pacファイルに文法エラーがある
が正しかったです。
改めてご回答ありがとうございました。

投稿2020/09/13 08:37

rfvujm2

総合スコア9

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

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

otn

2020/09/13 09:28

まだ間違っていますね。 return "PROXY 192.168.x.x:3128; DIRECT";
rfvujm2

2020/09/14 00:57

ありがとうございます。 一応これで動いたのですが、自分の書いているものの場合 return PROXY "192.168.x.x:3128"; "DIRECT"; 行の後半のDIRECTは設定として読み込まれない、といった書き方になっているということでしょうか?
guest

0

ベストアンサー

ブラウザによるかも知れませんが、pacファイルが取得できないときは、ダイレクトにアクセスすると思います。

・pacファイルの属性がapplication/x-ns-proxy-autoconfigでない
・pacファイルに文法エラーがある
とかでしょうか。

投稿2020/09/13 06:18

otn

総合スコア85778

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

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

rfvujm2

2020/09/13 07:01

ご回答ありがとうございます。 ・pacファイルの属性がapplication/x-ns-proxy-autoconfigでない →Apacheのhttpd.confを編集してapplication/x-ns-proxy-autoconfigの設定をしております。 ブラウザからpacファイルにアクセスすると自動でダウンロードが始まるので、MIMEタイプの設定はできているという認識です。 ・pacファイルに文法エラーがある →pacファイルの内容を追記しました。こちらは間違ってはいないと思っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問