คำถามติดแท็ก web-server

อ้างถึงซอฟต์แวร์หรือฮาร์ดแวร์ที่ประกอบขึ้นเป็นเว็บเซิร์ฟเวอร์ส่งเนื้อหาในเว็บไซต์ส่วนตัวหรือสาธารณะ

6
ไฟล์ / โฟลเดอร์เว็บไซต์ของฉันควรได้รับการอนุญาตบนเว็บเซิร์ฟเวอร์ Linux?
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการอนุญาตไฟล์ในเว็บเซิร์ฟเวอร์ Linux ฉันมีเว็บเซิร์ฟเวอร์ Linux ที่ใช้ Apache2 ซึ่งโฮสต์เว็บไซต์หลายแห่ง แต่ละเว็บไซต์มีโฟลเดอร์ของตัวเองใน / var / www / /var/www/contoso.com/ /var/www/contoso.net/ /var/www/fabrikam.com/ ไดเรกทอรีฐาน / var / www / เป็นของ root: root Apache ทำงานเป็น www-data: www-data เว็บไซต์ Fabrikam ดูแลโดยสองนักพัฒนาคืออลิซและบ๊อบ ทั้งเว็บไซต์ Contoso ได้รับการดูแลโดยนักพัฒนาซอฟต์แวร์หนึ่งคน เว็บไซต์ทั้งหมดอนุญาตให้ผู้ใช้อัปโหลดภาพ หากเว็บไซต์ถูกบุกรุกผลกระทบควรมี จำกัด มากที่สุด ฉันต้องการทราบวิธีที่ดีที่สุดในการตั้งค่าการอนุญาตเพื่อให้ Apache สามารถให้บริการเนื้อหาเว็บไซต์นั้นปลอดภัยจากการโจมตีและนักพัฒนายังคงสามารถเปลี่ยนแปลงได้ หนึ่งในเว็บไซต์มีโครงสร้างดังนี้: /var/www/fabrikam.com /cache /modules /styles /uploads /index.php ควรตั้งค่าการอนุญาตในไดเรกทอรีและไฟล์เหล่านี้อย่างไร? …

5
คุณทำการทดสอบโหลดและวางแผนกำลังการผลิตสำหรับเว็บไซต์อย่างไร
นี่เป็นคำถามที่เกี่ยวกับการวางแผนกำลังการผลิตสำหรับเว็บไซต์ ที่เกี่ยวข้อง: คุณช่วยฉันวางแผนกำลังการผลิตได้ไหม คุณทำการทดสอบโหลดและวางแผนกำลังการผลิตสำหรับฐานข้อมูลอย่างไร เครื่องมือและวิธีการที่แนะนำในการวางแผนกำลังการผลิตสำหรับเว็บไซต์และเว็บแอปพลิเคชั่นคืออะไร? โปรดอธิบายเครื่องมือและเทคนิคที่แตกต่างกันสำหรับเว็บเซิร์ฟเวอร์เฟรมเวิร์กและอื่น ๆ รวมถึงแนวปฏิบัติที่ดีที่สุดที่ใช้กับเว็บเซิร์ฟเวอร์โดยทั่วไป

4
อะไรคือประเพณีที่แตกต่างกันสำหรับเว็บไซต์ที่สามารถใช้ได้กับไดเรกทอรี conf.d สำหรับ nginx
ฉันมีประสบการณ์ในการใช้ linux แต่ไม่มีใครใช้ nginx ฉันได้รับมอบหมายให้ทำการค้นคว้าตัวเลือกการปรับสมดุลโหลดสำหรับแอปพลิเคชันเซิร์ฟเวอร์ ฉันใช้ apt-get เพื่อติดตั้ง nginx และทุกอย่างดูดี ฉันมีคำถามสองสามข้อ ความแตกต่างระหว่างโฟลเดอร์ที่มีไซต์และโฟลเดอร์ conf.d คืออะไร โฟลเดอร์ทั้งสองนั้นรวมอยู่ในการตั้งค่าเริ่มต้นสำหรับ nginx บทเรียนใช้ทั้ง มีไว้เพื่ออะไรและแนวทางปฏิบัติที่ดีที่สุดคืออะไร โฟลเดอร์ที่เปิดใช้งานไซต์มีไว้เพื่ออะไร ฉันจะใช้มันได้อย่างไร การกำหนดค่าเริ่มต้นอ้างอิงผู้ใช้ www-data หรือไม่ ฉันต้องสร้างผู้ใช้รายนั้นหรือไม่? ฉันจะให้สิทธิ์ที่ดีที่สุดแก่ผู้ใช้สำหรับการเรียกใช้ nginx ได้อย่างไร


8
เหตุใดการตอบสนองของ localhost จึงช้า
ฉันกำลังทำงานกับโปรเจ็กต์เล็ก ๆ น้อย ๆ ของ PHP สำหรับเพื่อนของฉันและฉันมีการตั้งค่าสภาพแวดล้อม WAMP สำหรับการพัฒนาในท้องถิ่น ฉันจำวันที่การตอบสนองจาก Apache 2.2 ในพื้นที่ของฉันได้ทันที อนิจจาตอนนี้ฉันกลับมาจากวันหยุดยาวที่ยาวนานฉันได้พบคำตอบจากlocalhostอาการเจ็บปวดช้า ใช้เวลาประมาณ 5 วินาทีในการรับหน้า HTML 300B เมื่อฉันดูที่ตัวจัดการงานhttpdกระบวนการ (2) กำลังใช้งาน CPU ขึ้น 0% และโดยรวมคอมพิวเตอร์ของฉันไม่ได้โหลด (การใช้งาน CPU 0-2%) เหตุใดเวลาในการตอบสนองจึงสูงมาก มีการตั้งค่า Apache ที่ฉันสามารถปรับแต่งเพื่อให้เธรดรันด้วยลำดับความสำคัญที่สูงขึ้นหรือบางสิ่งบางอย่าง? ดูเหมือนว่ามันเป็นเพียงการนอนหลับก่อนที่จะตอบสนองออกมา

8
วิธีใช้ DNS / ชื่อโฮสต์หรือวิธีอื่น ๆ ในการแก้ไข IP ที่เฉพาะเจาะจง: พอร์ต
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการแก้ปัญหา DNS / ชื่อโฮสต์เป็น IP / พอร์ต ตัวอย่างที่ 1 ฉันใช้งานเว็บเซิร์ฟเวอร์ที่พอร์ต 80 และอีกพอร์ตหนึ่งที่พอร์ต 87 ฉันต้องการใช้ DNS เพื่อให้ www.example.com ไปที่พอร์ต 87 ฉันจะทำสิ่งนี้ให้สำเร็จได้อย่างไรโดยใช้ DNS เท่านั้น ตัวอย่างที่ 2 ฉันใช้บริการบนเซิร์ฟเวอร์ของฉันบนพอร์ตที่ไม่ได้มาตรฐาน ฉันจะให้ลูกค้าเชื่อมต่อกับพอร์ตที่ไม่ได้มาตรฐานนี้โดยอัตโนมัติได้อย่างไร ฉันสามารถใช้ DNS ได้หรือไม่ มีการสนับสนุนเฉพาะแอปพลิเคชันที่ DNS สามารถระบุ IP และพอร์ตได้หรือไม่ ตัวอย่างที่ 3 แอปพลิเคชั่นโปรโตคอลบางอย่างสนับสนุนการรับรู้ชื่อโฮสต์และอนุญาตให้มีการดำเนินการพิเศษตามข้อมูลนี้หรือไม่? มีคำถามอื่น ๆ เกี่ยวกับข้อบกพร่องของเซิร์ฟเวอร์ที่ครอบคลุมบางส่วนหรือไม่ Commandeering:แต่เดิมคำถามนี้ถามเกี่ยวกับการเรียกใช้ IIS และ Apache บนเซิร์ฟเวอร์เดียวกัน แต่แนวคิดเดียวกันนี้สามารถนำไปใช้กับซอฟต์แวร์เซิร์ฟเวอร์ใดก็ได้ที่รับการเชื่อมต่อจากไคลเอนต์ คำตอบด้านล่างอธิบายถึงปัญหาทางเทคนิคและวิธีแก้ปัญหาของการใช้ DNS และการสนับสนุนโปรโตคอลแอปพลิเคชันเพื่อกำหนดหมายเลขพอร์ตสำหรับไคลเอนต์ที่จะเชื่อมต่อ

9
เหตุใดเซิร์ฟเวอร์จึงไม่ส่งแพ็กเก็ต SYN / ACK เพื่อตอบกลับแพ็คเก็ต SYN
เมื่อเร็ว ๆ นี้เราได้ตระหนักถึงปัญหาการเชื่อมต่อ TCP ที่ จำกัด เฉพาะผู้ใช้ mac และ Linux ที่เรียกดูเว็บไซต์ของเรา จากมุมมองของผู้ใช้มันนำเสนอตัวเองเป็นเวลาเชื่อมต่อนานมากไปยังเว็บไซต์ของเรา (> 11 วินาที) เราจัดการเพื่อติดตามลายเซ็นทางเทคนิคของปัญหานี้ แต่ไม่สามารถระบุสาเหตุที่เกิดขึ้นหรือวิธีแก้ไขได้ โดยทั่วไปสิ่งที่เกิดขึ้นคือเครื่องของลูกค้ากำลังส่งแพ็กเก็ต SYN เพื่อสร้างการเชื่อมต่อ TCP และเว็บเซิร์ฟเวอร์ได้รับ แต่ไม่ตอบสนองกับแพ็คเก็ต SYN / ACK หลังจากไคลเอนต์ส่งแพคเก็ต SYN หลายครั้งสุดท้ายเซิร์ฟเวอร์ตอบกลับด้วยแพ็คเก็ต SYN / ACK และทุกอย่างเรียบร้อยสำหรับการเชื่อมต่อที่เหลือ และแน่นอนนักเตะที่มีปัญหา: มันไม่ต่อเนื่องและไม่เกิดขึ้นตลอดเวลา (แม้ว่ามันจะเกิดขึ้นระหว่าง 10-30% ของเวลา) เราใช้ Fedora 12 Linux เป็นระบบปฏิบัติการและ Nginx เป็นเว็บเซิร์ฟเวอร์ ภาพหน้าจอของการวิเคราะห์ wireshark ปรับปรุง: การปิดการปรับสเกลของหน้าต่างบนไคลเอนต์ทำให้ไม่สามารถเกิดปัญหาได้ ตอนนี้ฉันแค่ต้องการการแก้ปัญหาด้านเซิร์ฟเวอร์ …
46 linux  tcp  web-server 

6
ฉันจะทำให้ Apache Web Server รับฟังบนพอร์ตที่ต่างกันสองพอร์ตได้อย่างไร
ฉันต้องการ Apache Web Server ที่ฉันติดตั้งที่บ้านเพื่อฟังบนพอร์ต 80 และพอร์ต 8080 ฉันเพิ่มListen 8080ใน httpd.conf และเริ่มบริการ Apache ใหม่ แต่ดูเหมือนว่าเซิร์ฟเวอร์จะไม่ฟัง 8080 การเจาะในhttp: // localhost: 8080หมดเวลาและไม่แสดง index.html ของฉัน แต่http: / / localhostจะแสดง index.html ของฉัน ฉันจะทำให้ฟัง 80 และ 8080 ได้อย่างไร

2
ผลของการกำหนดค่า vm.overcommit_memory
เว็บเซิร์ฟเวอร์ VPS ของฉันทำงานบน CentOS 5.4 (เคอร์เนล Linux 2.6.16.33-xenU) ไม่สม่ำเสมอ (เช่นเดือนละครั้งให้หรือใช้เวลาสองสามสัปดาห์) จะไม่ตอบสนองเนื่องจากผู้โจมตีใช้งานได้การตรวจสอบเซิร์ฟเวอร์แสดงว่าไม่ ปกติหน่วยความจำไม่เพียงพอทุกครั้ง ฉันได้อ่านบล็อกที่ชี้ไปที่หน้านี้ซึ่งกล่าวถึงการกำหนดค่าเคอร์เนลเพื่อจัดการ overcommit ที่ดีขึ้นโดยใช้การตั้งค่า sysctl ต่อไปนี้: vm.overcommit_memory = 2 vm.overcommit_ratio = 80 ความเข้าใจของฉันเกี่ยวกับเรื่องนี้ (ซึ่งอาจผิด แต่ฉันไม่สามารถหาคำจำกัดความตามกฎหมายเพื่อชี้แจง) คือการป้องกันเคอร์เนลที่จัดสรรหน่วยความจำเกินกว่า swap + 80% ของหน่วยความจำกายภาพ แต่ผมได้อ่านบางแหล่งข้อมูลอื่น ๆ บอกว่าการตั้งค่าเหล่านี้ไม่ได้เป็นความคิดที่ดี - แม้ว่านักวิจารณ์ของวิธีการนี้ดูเหมือนจะบอกว่า "ไม่ได้ทำสิ่งที่จะทำลายระบบของคุณแทนที่จะพยายาม kludge นี้" ในสมมติฐานว่า เป็นที่รู้จักกันเสมอ ดังนั้นคำถามของฉันคืออะไรข้อดีและข้อเสียของวิธีการนี้ในบริบทของเว็บเซิร์ฟเวอร์ Apache2 โฮสติ้งประมาณ 10 ไซต์การจราจรต่ำ? ในกรณีเฉพาะของฉันเว็บเซิร์ฟเวอร์มี 512Mb RAM พร้อมพื้นที่สลับ …

3
ทำไมการตั้งค่า Nginx เป็น reverse proxy เป็นความคิดที่ดี?
ฉันมีไซต์ Django ที่ทำงานบน Gunicorn ด้วย reverse proxy ผ่าน Nginx Nginx ไม่ใช่แค่ค่าใช้จ่ายที่ไม่จำเป็นเพิ่มขึ้นใช่ไหม? การเพิ่มที่ด้านบนของ Gunicorn ช่วยได้อย่างไร

5
เว็บเซิร์ฟเวอร์ของฉันควรมีคำขอกี่คำขอ
ไม่เจาะจงไปที่ข้อมูลจำเพาะเนื่องจากฉันรู้ว่าไม่มีคำตอบที่แท้จริงสำหรับสิ่งนี้ แต่วันนี้ฉันทำการทดสอบโหลดด้วยabคำสั่งใน Apache และได้จำนวน 70 คำขอต่อวินาที (1,000 คำขอพร้อมผู้ใช้ 100 คนพร้อมกัน) บนหน้าเว็บที่โหลดจากตารางฐานข้อมูล 4 ตารางที่แตกต่างกันและทำการจัดการกับข้อมูล ดังนั้นจึงเป็นหน้าที่ค่อนข้างหนัก เซิร์ฟเวอร์ไม่ได้ใช้งานอย่างอื่นในตอนนี้และการโหลดมันเป็นเพียงฉันเพราะมันกำลังอยู่ในระหว่างการพัฒนา แต่แอปพลิเคชั่นจะใช้งานทุกวันโดยผู้ใช้หลายคน แต่นี่เพียงพอหรือไม่ หรือฉันควรจะกังวลด้วยซ้ำ (ตราบเท่าที่มันเกิน X ร้องขอสักวินาที) ฉันคิดว่าฉันไม่ควรกังวล แต่ฉันต้องการคำแนะนำเกี่ยวกับเรื่องนี้

8
วิธีการลดการใช้หน่วยความจำบนเว็บเซิร์ฟเวอร์ Unix
ขณะนี้ฉันกำลังใช้ Joyent Accelerator เพื่อโฮสต์ webapps ของฉันและมันใช้งานได้ดี แต่ฉันต้องลดค่าใช้จ่ายดังนั้นฉันจึงลดระดับแผนปัจจุบันของฉันและทำให้มีการ จำกัด หน่วยความจำใหม่ ฉันไม่ได้อยู่ไกลเกินกว่าพวกเขาเมื่อวานนี้ แต่หลังจากเริ่ม Apache หลายครั้งวันนี้ฉันตอนนี้ 411M rss แลกเปลี่ยน 721M (prstat -Z -s cpu) การค้นหาใน Server Fault ให้ฉันได้หลายวิธีและมีเครื่องมือเฉพาะในการตรวจสอบเซิร์ฟเวอร์ แต่ไม่มีคำแนะนำในการลด / เพิ่มประสิทธิภาพการใช้หน่วยความจำ ฉันเคยเห็นคำถามนี้ด้วยเช่นกัน แต่ฉันไม่คิดว่ามันจะดีสำหรับสถานการณ์นี้ เซิร์ฟเวอร์กำลังใช้งาน Solaris บน CPU ที่ใช้ร่วมกันและฉันใช้ Apache + MySQL + PHP stack ฉันสนใจที่จะทราบขั้นตอนที่สามารถแก้ไขปัญหานี้และแก้ไขปัญหาได้ อย่างไรก็ตามฉันยังใช้เวลาน้อยเกินไปในการลดขนาดหน่วยความจำของฉันพิมพ์และปรับลดแผนก่อนที่จะสิ้นสุดดังนั้นสิ่งใดก็ตามที่สามารถสร้างเวทมนตร์และช่วยประหยัดทั้งวันก็ยินดีเช่นกัน :)

7
ฉันจะบล็อกการแฮ็คที่พยายามกำหนดเป้าหมาย phpMyAdmin ได้อย่างไร
เว็บไซต์ของฉันได้รับความนิยมหลายพันครั้งต่อวันจาก IP ที่พยายามเข้าถึง: /php-myadmin/ /myadmin/ /mysql/ ... และรูปแบบอื่น ๆ อีกนับพัน ไม่มีไดเรกทอรีเหล่านี้อยู่ฉันไม่มี phpmyadmin บนเซิร์ฟเวอร์ของฉัน ฉันไม่คิดว่าความพยายามใด ๆ เหล่านี้ประสบความสำเร็จ แต่พวกเขาต้องใช้ทรัพยากรของเซิร์ฟเวอร์และเสียแบนด์วิดท์ดังนั้นฉันจึงอยากหยุดถ้าเป็นไปได้ ฉันได้บล็อกไอพีเหล่านี้จำนวนหนึ่ง แต่พวกเขากลับมาพร้อมกับไอพีสดใหม่มีวิธีใดที่ฉันจะสามารถป้องกันได้อย่างถาวรมากขึ้น?

7
วิธีที่ดีที่สุดในการป้องกันการจู่โจม DOS“ ช้าคลอเรส” กับเว็บเซิร์ฟเวอร์ Apache?
เมื่อเร็ว ๆ นี้สคริปต์ที่ชื่อว่า "slowloris" ได้รับความสนใจ แนวคิดพื้นฐานของสิ่งที่ slowloris ไม่ได้เป็นการโจมตีใหม่ แต่ได้รับความสนใจเมื่อเร็ว ๆ นี้ฉันได้เห็นการโจมตีเพิ่มขึ้นเล็กน้อยจากเว็บไซต์ Apache บางเว็บไซต์ของเรา ในขณะนี้ดูเหมือนว่าจะไม่ได้รับการป้องกันใด ๆ 100% ทางออกที่ดีที่สุดที่เราได้พิจารณา (จนถึงปัจจุบัน) คือการเพิ่ม MaxClients หลักสูตรนี้ไม่ได้ทำอะไรมากไปกว่าการเพิ่มข้อกำหนดสำหรับคอมพิวเตอร์ของผู้โจมตีและไม่ได้ป้องกันเซิร์ฟเวอร์ 100% อีกรายงานหนึ่งระบุว่าการใช้ reverse proxy (เช่น Perlbal) ด้านหน้าเซิร์ฟเวอร์ Apache สามารถช่วยป้องกันการโจมตีได้ การใช้ mod_evasive เพื่อ จำกัด จำนวนการเชื่อมต่อจากโฮสต์หนึ่งและใช้ mod_security เพื่อปฏิเสธคำขอที่ดูเหมือนว่าออกโดย slowloris ดูเหมือนจะเป็นการป้องกันที่ดีที่สุด มีใครใน ServerFault ที่เคยประสบกับการโจมตีเช่นนี้หรือไม่ ถ้าเป็นเช่นนั้นคุณใช้มาตรการใดเพื่อปกป้อง / ป้องกัน? หมายเหตุ: คำถามนี้สำหรับเซิร์ฟเวอร์ Apache เนื่องจากเป็นความเข้าใจของฉันว่าเซิร์ฟเวอร์ Windows …

7
ทำไม Nginx ถึงเร็วนัก
เว็บไซต์อย่างเช่น rambler ให้บริการเนื้อหาแบบไดนามิกอย่างรวดเร็วอย่างไร ยิ่งเร็วกว่า Yahoo (ซึ่งมีเซิร์ฟเวอร์ในประเทศของฉัน - SE Asia; rambler ไม่มี) นี่คือความสามารถของ Nginx อย่างแท้จริงหรือไม่? ฉันควรจะเรียนรู้เกี่ยวกับความสามารถดังกล่าวที่ไหน ผมเชื่อว่า serverfault.com ถ้าเสิร์ฟจาก Nginx จะเร็วขึ้นมากใน IIS 7 (สมมติว่าเวลาในการเข้าถึง db เป็นเท่าเดิมในทั้งสองกรณี) นี่เป็นข้อสมมติฐานที่ยุติธรรมหรือไม่? แก้ไข: โพสต์จาก Karl โดยใช้Nginx หน้า IIS7

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.