ใช้ nginx อยู่ครับ แนะนำด้วยครับ คือไม่อยากให้ต่างประเทศเข้าเว็บได้เลย แต่ก็เปลือให้ google bot มาเก็บข้อมูลก็พอครับ
อีกอย่างครับ แล้วมีวิธีบล็อก ไม่ให้คนอื่นเข้าเว็บผ่าน ip ไหมครับ
ใช้ nginx อยู่ครับ แนะนำด้วยครับ คือไม่อยากให้ต่างประเทศเข้าเว็บได้เลย แต่ก็เปลือให้ google bot มาเก็บข้อมูลก็พอครับ
อีกอย่างครับ แล้วมีวิธีบล็อก ไม่ให้คนอื่นเข้าเว็บผ่าน ip ไหมครับ
สร้าง server ระบุ server_name เป็น ip โดยจะให้เกิดอะไรเมื่อเข้าผ่าน ip ก็ให้ไปตั้งในนั้นเอาครับ
ใน config server ของ nginx มันเขียนเงื่อนไขได้เหมือนเขียนโปรแกรมเลยครับ
ถ้าจะตั้งไม่ให้ต่างประเทศเข้า เอาเป็นว่าคุณไปหา list หมายเลข ip ในประเทศเรามาให้ครบก่อนครับ แล้วเขียนให้มันเช็คว่ามี IP ตรงกับในประเทศถึงให้เข้าได้
วิธีไม่ให้เข้าเว็บผ่าน IP ถ้าไม่ได้ตั้งให้เว็บคุณเป็น default server มันก็เข้าไม่ได้อยู่แล้วครับ
เปิด geoip แล้วตั้ง
if ($geoip_country_code != “TH”) {
return 403;
}
แค่นี้แหละครับ ไม่ต้องสนใจรายการ ip ประเทศ
แต่ถ้าจะเปิด google bot ด้วยนี่ยาวฮะ
ขอถามวิธีเพิ่มอีกหน่อยนะครับ คือ อยากจะ block user agent ต่อโดเมนที่ต้องการครับ ตอนนี้ใช้ nginx เป็น proxy ไป httpd ไม่ได้ทำเป็น vhost จะบล็อกยังไงครับ ผมลองทำตาม code ด้านล่างแล้วไม่ผ่านครับ
if ($host = "domain.com") {
if ($http_user_agent ~* (Googlebot/2.1) ) {
return 403;
}
}
ขอบคุณครับ
น่าจะ ประมาณนี้ป่ะ ไม่แน่ใจนะ +____+
if (($host ~* “domain.com”) && ($http_user_agent ~* Googlebot)) {
return 403;
}
nginx มันทำ multiple if ตรงๆ ไม่ได้ ต้องใช้ประมาณนี้ครับ
http://rosslawley.co.uk/2010/01/nginx-how-to-multiple-if-statements/
งั้นควรเป็นแบบนี้ป่ะ แต่ไม่แน่ใจ $host นะว่าใช้แบบนี้ได้ป่ะ
if ($host ~* ^domain.com$) {
set $test A;
}
if ($http_user_agent ~* Googlebot) {
set $test “${test}B”;
}
if ($test = AB) {
return 403;
}
ได้ผลครับ ขอบคุณมากเลยครับ