Squidの注意点

2019/06/21 2019/06/21 #Squid #リバースプロキシ #hosts

Squidを使用するときにはここに気をつけろ!

皆さんこんにちは。Nonです。
実は私、Qittaにもしばしば投稿しておりまして、そちらがここになります。
ある時、

使用中に、ハマったことがありまして、今でもちょいちょいハマる場所なので、備忘録ついてでに書いておくこととしましょう。

結論

if (nt == NULL)     /* empty line */
            continue;

        *nt = '\0';     /* null-terminate the address */

        debugs(1, 5, "etc_hosts: address is '" << addr << "'");

        lt = nt + 1;

        SBufList hosts;

一応念のためと思って squid のソースを読んでみたら、
なんと squid は libc を使わず独自に /etc/hosts を parse していて、
そこでは行頭にスペースやタブがあると、アドレスが書いてないものとみなされてしまうコードになっていました。
この辺です:
https://github.com/squid-cache/squid/blob/d429cbd0e4d86d4af54ed50e499da14039ff7429/src/tools.cc#L954
これはビックリ。
というわけで、行頭のスペースないしTABが squid 限定で犯人でした。

この回答くれた方には恩しか感じません。僕は完全にSquidの設定ばかりを疑っていました。

注意点

文字コードや、改行ではない。
文字コードに依存する文字がhostsの中に記述されていれば関係あるかもしれません。
しかし、hostsは基本的に英数字しか書きませんので、問題ないかと。

なんかいい方法ないですか??

自作アプリでローカルWEBサーバーにアクセスする際、Squidでリバースプロキシ立てちゃう方法をよく使用します。
この手法してるとあらぬトラブルに巻き込まれるので、なんかいい方法ありませんか?
ちなみに、エミュレーターで無理くりするあの感じが嫌なので、実機を使用しています。

最後に

ちょっと短いけど今日はここまで。
たまには過去の資産をまとめることも悪くないですね。
こういうリメイク記事も作成していくかもしれません。
にしてもコード読んで解決とは・・・世の中にはすごい人がたくさんいますね。

のん

名刺 : About me.

YouTube : のんラボ

Twitter : @nonz250

Github : nonz250

Qiita : @nonz250

My Qiita posts My Qiita contributions My Qiita followers

主にPHPを使用し、サーバーサイドを担当。最近はフロントにも興味津々。

なにかを作ったりいじったりするのが好きで、個人開発なども行っている。

趣味はバイクアイコン画像は大抵愛車の「Z250」である。友達にアイコン描いてもらえて嬉しい。

PHP / Laravel / CakePHP2 / CakePHP3 / Vue / Nuxt / C# / etc...

Tags

#のんラボ #Laravel #Vue #個人開発 #ブログ #プログラミング #javascript #Html5 #WEBサービス #Twitter #今年の抱負メーカー #勉強方法 #PWA #モバイルアプリ #Android #ツーリング #バイクに乗るエンジニア #Z250 #秋吉台 #能登半島 #バイク #冒険 #東尋坊 #Squid #リバースプロキシ #hosts #axios #cropper #AdSense #Bootstrap #MySQL #高速化 #トドTask #Telescope #デバッグ #composer #テスト #セキュリティ #POSレジ #スマレジ #本部機能 #バリデーション #入力チェック #Mac #Chrome #テスト駆動開発 #開発手法 #UI #デザイン #WEBサイト #機能美 #PHP #Laravel 6 #コメント #バージョンアップ #vue-cli #localhost #BIツール #売上分析 #TANAX #MFK250 #ツアーシェルケース2 #RESTful #API #REST API #実務的 #PHP Tech Tutor #Smaregi Tech Talk #勉強会 # ブログ #CakePHP3 #CSRF #VSCode #開発環境 #CakePHP3.0 #さくらのレンタルサーバー #モジュールモード #シェル #メール #Gmail #relay #OGP #エラーページ #抱負 #家庭教師 #ドメイン駆動設計 #DDD #読書会 #那智の滝 #伊勢志摩 #伊勢志摩スカイライン #フロント #三方五湖 #レインボーライン #ボーイスカウト・ルール #プログラマが知るべき97のこと #リファクタリング #ユビキタス言語 #車輪の再発明 #マイクロサービス #デプロイ #QA #laravel-mix #Tips #storybook #@storybook/addon-actions #昇降デスク #コードレス #書斎 #オフィス #リモートワーク #働き方 #エラーハンドリング #スマレジ4 #pixel 5 #レビュー #スマレコ #TDD #RSS #404 #高山ダム #ラーツー #React #Nuxt #node_modules #エラー #インポート #設定方法 #環境構築 #Docker #フォレストパーク神野山 #学生向け #PR #採用 #Node.js #npm #しまなみ海道 #youtube #CSS #IE #SLA #Rust #千里浜なぎさドライブウェイ #千里浜 #インサイドセールス #曽爾高原 #無線LAN #ポートフォリオ #バルカンS #納車 #Next.js #チームビルディング #リーダー #悩み #Github Actions #Marp #ネタ #サーバー移行 #S3 #ストレージサーバー #RFC 7807 #Digest #認証 #Xdebug #CLI #西日本 #例外