স্কুইড ক্যাচিং নয়


8

আমি স্কুইডকে ক্যাচিং সার্ভার হিসাবে কনফিগার করার চেষ্টা করছি। আমার ল্যান রয়েছে যেখানে ওয়েবসার্ভার (অ্যাপাচি) 192.168.122.11স্কুইডে রয়েছে 192.168.122.21এবং আমার ক্লায়েন্টটি রয়েছে 192.168.122.22। সমস্যাটি হ'ল, যখন আমি স্কুইডের অ্যাক্সেস লগটি দেখি, সমস্ত কিছুই আমি TCP_MISSবার্তা messages দেখে মনে হচ্ছে স্কুইড মোটেই ক্যাশ করছে না। আমি পরীক্ষা করেছিলাম যে ক্যাশে ডিরেক্টরিতে সমস্ত সঠিক অনুমতি আছে has এখানে আর কী ভুল হতে পারে? এখানে আমার স্কুইড কনফিগারেশন রয়েছে:

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.1/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access allow all
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_port 3128 accel defaultsite=cona-proxy vhost
cache_peer 192.168.122.11 parent 80 0 no-query originserver login=PAS name=webserver
cache_dir ufs /var/spool/squid3 100 16 256
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:   1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?)   0   0%  0
refresh_pattern (Release|Packages(.gz)*)$   0   20% 2880
refresh_pattern .   0   20% 4320
always_direct allow all
acl server_users dstdomain cona-proxy
http_access allow server_users
cache_peer_access webserver allow server_users
cache_peer_access webserver deny all

সমস্ত মেশিনে, cona-proxyপয়েন্টগুলি 192.168.122.21(এতে যুক্ত হয়েছে /etc/hosts)

আউটপুট curl -v 192.168.122.11

* About to connect() to 192.168.122.11 (#0)
* Trying 192.168.122.11... connected
> GET / HTTP/1.1
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libculr/7.22.0 OpneSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: 192.168.122.11
> Accept: */*
>
< HTTP/1.1 202 OK
< Date Mon, 02 Jul 2012 05:48:50 GMT
< Server: Apache/2.2.22 (Ubuntu)
< Last-Modified: Tue, 19 Jun 2012 23:04:25 GMT
< ETag: "27389-b1-4c2db4dc2c182"
< Accept_Ranges: bytes
< Content-Length: 177
< Vary: Accept-Encoding
< Content-Type: text/html
< X-Pad: avoid browser bug
<
<html><body><h1>It works!</h1>
<p>This is the default web page for the server.</p>
<p>The web server software is running but no content has been added, yet. </p>
</body></html>
* Connection #0 to host 192.168.122.11 left intact
* Closing connection #0

আপনি যখন পরীক্ষা করেন তখন নিশ্চিত হন যে পরীক্ষার পৃষ্ঠাগুলি ক্যাশে দেওয়ার অনুমতি দিচ্ছে। যেমন এসএসএল পৃষ্ঠাগুলি ক্যাশে হয় না।
মিরসিয়া ভুটকোভিচি

আপাতত আমার কাছে সবেমাত্র অ্যাপাচের ডিফল্ট "এটি কাজ করে" পৃষ্ঠা রয়েছে। এটা জরিমানা করা উচিত, আমি মনে করি।
অভিষেক চন্দ

আমার আপনার স্কুইড কনফিগারেশন যুক্ত করা উচিত।
ক্রিস্টোফার পেরিন

স্কুইড কনফিগারেশন যুক্ত হয়েছে
অভিষেক চন্দ

1
আপনার পোস্ট করা নমুনা অনুরোধে, সামগ্রীটি ক্যাশেযোগ্য নয়
সিমকাবিয়ান

উত্তর:


3

আপনার কনফিগারেশনে আপনি এই লাইনগুলি মিস করেছেন:

acl myhosts src 192.168.0.0/255.255.0.0 (your internal network/netmask)
http_access allow myhosts

EDIT1:

আপনার ওয়েব সার্ভারটি আপনার ক্যাশে_পিয়ার নয়। দয়া করে আপনার কনফিগারেশন ফাইল থেকে এই লাইনটি সরিয়ে দিন। স্কুইডের মধ্যে ক্যাশের মধ্যে অন্য ধরণের প্রোটোকল (আইসিপি) রয়েছে যা অ্যাপাচি জানে না inter


আমার অভ্যন্তরীণ নেটওয়ার্ক 192.168.0.0/255.255.255.0। আমি যখন এই দুটি লাইন যুক্ত করেছি, তখন আমার ব্রাউজারটি বলেproxy server is refusing connections
অভিষেক চন্দ

1
আপনি যদি 192.168.122.11 ইত্যাদি ঠিকানা ব্যবহার করেন তবে আপনার নেটওয়ার্কটি 192.168.0.0/255.255.255.0 নয়, তবে 192.168.122.0/255.255.255.0।
জান মারেক

বা সম্ভবত 192.168.0.0/255.255.0.0
ক্রিস্টোফার পেরিন

1
এটি আমার প্রথম পরামর্শ ছিল, আমার উত্তরটি দেখুন ... :-)
জান মেরেক

নিশ্চিত! দুঃখিত! এটা পোস্ট করার পরে খুব দেরী / প্রথম দিকে!
ক্রিস্টোফার পেরিন

7

আমার অভিজ্ঞতায় স্কুইড সামগ্রী ক্যাশে করতে অস্বীকৃত 3 অতি সাধারণ কারণ হ'ল:

  • ক্যাশে ডিরেক্টরি অনুমতি, এবং আপনি এটি যত্ন নেওয়া হয়েছে। ভাল :)
  • http_accessকিন্তু এটা না আপনার ক্ষেত্রে, কারণ আপনি দেখতে পান TCP_MISSআপনার access.log মধ্যে লাইন
  • refresh_pattern নির্দেশনা

refresh_pattern নির্দেশিকা (গুলি) নিয়ন্ত্রণ করুন যে স্কুইড কীভাবে বস্তুগুলিকে তাজা বা বাসি বিবেচনা করে, বিশেষত আপনার ব্রাউজারটি যেভাবে অনুরোধ করে, এবং কোন ক্যাশে নিয়ন্ত্রণ এইচটিটিপি শিরোনাম বিনিময় হয় তার সাথে সম্পর্কিত।

refresh_patternলাইন আপনি আপনার কনফিগারেশন আছে স্কুইড এর ডিফল্ট লাইন আছে। যাইহোক, আমি মাত্র 2 সপ্তাহ আগে উবুন্টুতে স্কুইড ইনস্টল করেছি এবং এই খেলাপিগুলির সাথে, এটি প্রায় কিছুই কেশ করে না।

রিফ্রেশ_প্যাটার্ন সম্পর্কে স্কুইডের ডকুমেন্টেশনগুলিতে প্রতিটি লাইনের অর্থ ব্যাখ্যা করা উচিত, তবে আমি সেই ডকুমেন্টেশনের অর্থ কী বুঝতে পারি না। এবং সম্ভবত আমি একা নই :)

আমি আপনাকে নীচের এক বা একাধিক নিদর্শন যুক্ত করতে এবং সন্তুষ্ট না হওয়া অবধি নির্দিষ্ট ফাইল / ইউআরএল পরীক্ষা করার পরামর্শ দেব। উদাহরণ:

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 3600 90% 43200

এটির সাহায্যে, আপনি স্কুইডকে বলছেন যে কমপক্ষে 1 ঘন্টা থেকে সর্বোচ্চ আধঘন্টার জন্য সমস্ত আইকন / ছবি ক্যাশেবল বিবেচনা করতে পারবেন। আপনার ব্রাউজারটি কোনও বিশেষ ক্যাশে শিরোলেখগুলির সাথে এইচটিটিপি অনুরোধগুলি প্রেরণ করতে পারে যা স্কুইডকে যে TCP_MISSকোনওভাবেই উত্তর দেবে । ক্যাশেড জবাবগুলি এমনকি ক্লায়েন্টের প্রত্যাশা ভঙ্গ করতে বাধ্য করতে, আপনি এটি করতে পারেন:

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 3600 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private

একই সাথে বড় সিনেমা / অডিও / আইসো ফাইলগুলির জন্য যায়:

refresh_pattern -i \.(mp[34g]|swf|wav|...)$ 43200 90% 432000

অন্য কিছু ব্যর্থ হলে, একটি মহৎ হাতুড়ি ব্যবহার :) কিন্তু আমি না এই কথা বলতে:

refresh_pattern . 3600    80%     14400

যা দিয়ে আপনি স্কুইডকে বলছেন যে এটি কমপক্ষে 1 ঘন্টার জন্য সমস্ত কিছু ক্যাশে করতে পারে। তবে এটি প্রায় অবশ্যই গতিশীল অ্যাপ্লিকেশনগুলি ভেঙে দেবে। আপনি যে সার্ভারটি ক্যাশে দেওয়ার চেষ্টা করছেন সেটি বেশিরভাগ স্থির সামগ্রী দিয়ে তৈরি করা থাকলে এটি ব্যবহার করুন।

এছাড়াও, ভুলবেন না maximum_object_size। ডিফল্টরূপে, এটি 20Mb । আপনি যে জিনিসগুলি ক্যাশে দেওয়ার চেষ্টা করছেন সেগুলি যদি এর চেয়ে বড় হয় তবে স্কুইড সেগুলি ক্যাশে করবে না। আমি এটিকে 10x আপ করে 200Mb করে দিয়েছি। YMMV।

maximum_object_size 204800 KB

বিটিডাব্লু, আপনার cache_peerলাইনটি ভুল, কারণ এটি অ্যাপাচে চিহ্নিত করে। একটি cache_peerস্কুইড কথা ক্যাশে অনুক্রমের অন্য স্কুইড উদাহরণস্বরূপ উচ্চতর পর্যন্ত, যে সাধারণত পুরানো দিনের মধ্যে কোনো ISP ক্যাশে সার্ভার ব্যবহার করা হয়। কেবল সেই লাইনটি সরিয়ে দিন।

এবং সৌভাগ্য :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.