คำถามติดแท็ก nginx

Nginx ("eNgine x") เป็นเซิร์ฟเวอร์ HTTP น้ำหนักเบาประสิทธิภาพสูงพร็อกซีย้อนกลับพร็อกซีสตรีมพร็อกซี TCP และพร็อกซีเมลซึ่งวางจำหน่ายภายใต้สิทธิ์ใช้งาน BSD

2
วิธี จำกัด อัตราใน nginx แต่รวมถึง / ไม่รวมที่อยู่ IP ที่แน่นอน
ฉันสามารถใช้limit_reqเพื่อ จำกัด อัตราการร้องขอทั้งหมดไปยังเซิร์ฟเวอร์ของฉัน อย่างไรก็ตามฉันต้องการลบข้อ จำกัด อัตราสำหรับที่อยู่ IP บางรายการ (เช่นรายการที่อนุญาต) และใช้การ จำกัด อัตราที่แตกต่างกันสำหรับผู้อื่น (เช่น IP ที่แน่นอนที่ฉันต้องการต่ำถึง 1r / s) ฉันลองใช้เงื่อนไข (เช่นif ( $remote_addr = "1.2.3.4" ) {}) แต่ดูเหมือนว่าจะใช้ได้เฉพาะกับกฎการเขียนซ้ำไม่ใช่กฎการ จำกัด อัตรา

1
Reverse Proxy - ลบไดเรกทอรีย่อย
ในอนาคตอันใกล้ฉันจะมีเซิร์ฟเวอร์ 3 nginx หนึ่งคือ reverse proxy สำหรับ SSL สำหรับอีกสองรายการ ตัวอย่างเช่นฉันไปที่: https://www.mysitename.com/site1 เซิร์ฟเวอร์อื่นสองตัวในตัวอย่างนี้คือ site1 และ site2 ฉันติดตั้งใบรับรอง SSL บนพร็อกซีและฉันต้องการใช้ reverse proxy (ไม่จำเป็นต้องใช้ SSL เนื่องจากทั้ง 3 อยู่ในเครือข่ายภายใน) สำหรับการทดสอบฉันมี nginx ที่ฟัง 443 สำหรับ SSL / reverse-proxy ฟัง พอร์ต 8081 ซึ่งเป็นแอพพลิเคชั่นรางสำหรับไซต์ 1 และ 8082 สำหรับไซต์ 2 ฉันมีสิ่งนี้ ... server { listen 443; server_name mysitename.com; …
27 nginx 

3
วิธีการทำสมดุลโหลดซ้ำซ้อน?
ฉันเข้าใจว่าจุดประสงค์ของตัวโหลดบาลานซ์คือการปรับสมดุลโหลดระหว่างเซิร์ฟเวอร์ของคุณและติดตามสถานะของอินสแตนซ์เป็นต้น แต่จะเกิดอะไรขึ้นถ้าตัวโหลดบาลานเซอร์เองล้มเหลว? คุณจะตั้งค่าตัวโหลดบาลานซ์ซ้ำซ้อนได้อย่างไร? (โหลดบาลานซ์บาลานซ์)? ฉันเห็นว่าการตรวจสอบสุขภาพ DNS มีประโยชน์อย่างไร แต่มีปัญหาเรื่องเวลาในการตอบสนองที่สำคัญอย่างเห็นได้ชัด นี่คือการสมมติว่าคุณไม่ได้ใช้บริการของบุคคลที่สามใด ๆ เช่น AWS ELB หรืออะไรที่คล้ายกัน จะทำอย่างไรถ้าคุณเพียงแค่ใช้พูด Nginx?

5
วิธีการปิดการใช้งานการเข้าสู่ระบบ Nginx?
ฉันมีดังต่อไปนี้ในไฟล์ปรับแต่ง server { listen 80; server_name _; access_log /var/log/nginx/access.log main; ... server { listen 80; server_name example.com access_log off; error_log off; แต่มันยังคงทำการบันทึกสำหรับexample.comโฮสต์เสมือน ผมทำอะไรผิดหรือเปล่า?
27 nginx 

2
ความต่อเนื่องของไฟล์กำหนดค่า nginx?
ฉันมี nginx config stanza ที่ดูเหมือน: server { listen *:80; server_name domain1.com domain2.com domain3.com domain4.com .... domainN.com; rewrite ^(.*) http://my_canonical_domain.com permanent; } พร้อมโดเมนจำนวนมาก มีวิธีใดบ้างในการแยกสิ่งนี้ข้ามหลายบรรทัด ฉันไม่เห็นอะไรเลยในเอกสารกำหนดค่า nginx ซึ่งระบุที่อยู่นี้
26 nginx 

3
วิธีที่ดีที่สุดในการป้องกันเซิร์ฟเวอร์เริ่มต้นคืออะไร
ฉันมี vhost จำนวนหนึ่งและฉันต้องการ "ปิด" vhost ที่เป็นค่าเริ่มต้นไม่ว่าจะเป็นหน้าว่างหน้าข้อผิดพลาดหรือโดยทั่วไปก็ตามสิ่งที่เป็นการใช้ทรัพยากรของ Nginx อย่างมีประสิทธิภาพที่สุดในขณะที่อนุญาตให้ vhost อื่น ๆ เข้าถึงได้ผ่านทางเท่านั้น โดเมนที่กำหนดไว้ล่วงหน้า

2
การอนุญาตการร้องขอ cross origin (CORS) บน Nginx สำหรับการตอบกลับ 404
ฉันใช้ Nginx เพื่อให้บริการไฟล์คงที่เพื่อตอบสนองคำขอ CORS โดยใช้เทคนิคที่ระบุไว้ในคำถามนี้ อย่างไรก็ตามเมื่อไฟล์ไม่มีการตอบสนอง 404 นั้นไม่มีAccess-Control-Allow-Origin: *ส่วนหัวดังนั้นเบราว์เซอร์จึงถูกบล็อก ฉันจะส่งAccess-Control-Allow-Origin: *การตอบกลับ 404 ครั้งได้อย่างไร

3
วิธีการตั้งค่า favicon.ico สำหรับโฮสต์เสมือนเฉพาะบน Nginx
ฉันใช้ Nginx เป็นเว็บเซิร์ฟเวอร์เป็นครั้งแรก ฉันไม่มีปัญหาในการตั้งค่าและทุกอย่างใช้งานได้ดี ปัญหาเกิดขึ้นเมื่อผู้ออกแบบถามฉันว่าเขาสามารถส่ง "ไอคอนในแถบชื่อเรื่อง" ถึง "วางไว้ที่นั่นหรือไม่" # /opt/nginx/conf/nginx.conf ... server { listen 80 ; server_name *.website.com website.com; root /home/webuser/sites/website; } ไดเรกทอรีของฉัน: /home/webuser/sites/website/ |_ index.html |_ main.css |_ favicon.ico เป็นไปได้หรือไม่ที่จะนำ favicon.ico ไปยังแต่ละโฮสต์เสมือน? คุณควรวางไฟล์นั้นไว้ที่ไหนและจะกำหนดค่าอย่างไร? แก้ไข: ฉันเพิ่งรู้ว่ามันเป็นปัญหาที่แตกต่างอย่างสิ้นเชิง คำตอบทั้งสองถูกต้อง แต่ปัญหาของฉันคือการอนุญาต ฉันไม่รู้ว่าทำไมไฟล์ favicon.ico จึงมีสิทธิ์ 600 และแน่นอนตอนที่ฉันทำ: chmod +r favicon.ico ทำงานเหมือนจับใจ ฉันจะออกจากที่นี่ถ้ามันเกิดขึ้นกับคนอื่น

3
ทางเลือกอื่นในการเปรียบเทียบ apache? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับข้อบกพร่องของเซิร์ฟเวอร์ ปิดให้บริการใน4 ปีที่แล้ว ฉันต้องการเครื่องมือบางอย่างสำหรับ Ubuntu ที่ฉันสามารถใช้ทดสอบเซิร์ฟเวอร์ของฉันมันสามารถรองรับได้มากแค่ไหน ข้อเสนอแนะใด ๆ ฉันเคยใช้ apache benchmark มาก่อน แต่ฉันต้องการลองอย่างอื่น (ตามคำถามด้านข้าง, apache benchmark ทำงานถ้าฉันใช้แค่ nginx เท่านั้น)

4
กำหนดค่า nginx สำหรับ jboss / tomcat
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 8 ปีที่ผ่านมา เพื่อที่จะผ่านการเข้าชม JBoss / TomCat พอร์ต 80 ใช้ Apache mod_jkเราใช้ในการติดตั้งและการกำหนดค่า มีเทียบเท่าสำหรับ nginx? โดยทั่วไปต้องการให้ทราฟฟิกพอร์ต 80 ทั้งหมดถูกส่งไปยัง jboss

1
วิธีการแก้ไขข้อผิดพลาดไทม์เอาต์ของผู้ปฏิบัติงานวิกฤติของ gunicorn?
ฉันใช้ nginx และ gunicorn เพื่อโฮสต์เว็บไซต์ของฉันในเซิร์ฟเวอร์สองเครื่อง เซิร์ฟเวอร์ทั้งสองมีแพคเกจรุ่นเดียวกันและโฮสต์เว็บไซต์สำเร็จแล้ว แต่หนึ่งใน Gunicorn เซิร์ฟเวอร์ตัวหนึ่งของฉันมักจะได้รับการหยุดพัก [CRITICAL]Worker Timeout Booting worker with pid Worker cannot boot with pid หลังจากนี้ฉันได้รับข้อผิดพลาด 502 Badgateway ในหน้าเว็บ ฉันต้องรีสตาร์ทกระบวนการ gunicorn เพื่อเปิดเว็บไซต์ ต่อไปนี้เป็นบันทึกข้อผิดพลาด: 2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994) 2014-02-16 14:29:53 [1267] [CRITICAL] WORKER TIMEOUT (pid:4994) 2014-02-16 14:29:53 [22140] [INFO] Booting worker with pid: …
26 nginx  gunicorn 

3
Nginx - วิธีเปลี่ยนเส้นทางผู้ใช้ด้วย IP ที่แน่นอนไปยังหน้าพิเศษ
ฉันเรียกใช้แกลเลอรี่ภาพขนาดใหญ่และมีผู้เยี่ยมชม 5 คนที่สร้างปริมาณการเข้าชมจำนวนมหาศาลด้วยการดาวน์โหลดเว็บไซต์ทั้งหมดทุกวันโดยใช้เว็บแคช ผู้เยี่ยมชมเหล่านั้นมี IP คงที่ตามที่ปรากฏ สิ่งที่ฉันต้องการทำให้สำเร็จคือ IP ทั้ง 5 ตัวนั้นถูกเปลี่ยนเส้นทางไปยังหน้าเว็บบางหน้า (ซึ่งอธิบายว่าทำไมพฤติกรรมของพวกเขาจึงเป็นปัญหา) ทันทีที่พวกเขาเข้าชมเว็บไซต์ ผู้เยี่ยมชมคนอื่น ๆ ควรจะสามารถเรียกดูเว็บไซต์ได้ตามปกติ เซิร์ฟเวอร์กำลังเรียกใช้ CentOS (5.8) และ nginx (1.0.15) เป็นเว็บเซิร์ฟเวอร์ มีวิธีใดบ้างที่จะบรรลุเป้าหมายนี้โดยรายการใน nginx.conf ที่คุณทราบ? ขอบคุณล่วงหน้าสำหรับคำแนะนำและการสนับสนุนของคุณ! ขอแสดงความนับถือ -Alex
26 nginx  ip  redirect 

3
เปิดใช้งานการตรวจสอบสิทธิ์เว็บไซต์พื้นฐานและปิดใช้งานสำหรับหน้าย่อยหรือไม่
ฉันมีการตั้งค่าไปข้างหน้าค่อนข้างตรงไปตรง: upstream appserver-1 { server unix:/var/www/example.com/app/tmp/gunicorn.sock fail_timeout=0; } server { listen 80; server_name example.com; location / { proxy_pass http://appserver-1; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; auth_basic "Restricted"; auth_basic_user_file /path/to/htpasswd; } location /api/ { auth_basic off; } } เป้าหมายคือการใช้การรับรองความถูกต้องพื้นฐานบนเว็บไซต์ทั้งหมดยกเว้น/api/ทรีย่อย ในขณะที่มันทำงานด้วยความเคารพในการรับรองความถูกต้องพื้นฐานคำสั่งอื่น ๆ เช่นproxy_passจะไม่ได้รับผลกระทบ/api/เช่นกัน เป็นไปได้หรือไม่ที่จะปิดการใช้งานการตรวจสอบขั้นพื้นฐานในขณะที่ยังคงรักษาคำสั่งอื่นโดยไม่คัดลอกและวางทุกอย่าง?

3
วิธีเขียนส่วนโดเมนของ Set-Cookie ในพร็อกซีย้อนกลับ nginx ได้อย่างไร
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 8 ปีที่ผ่านมา ฉันมีพร็อกซีย้อนกลับ nginx อย่างง่าย: server { server_name external.domain.com; location / { proxy_pass http://backend.int/; } } ปัญหาคือว่าSet-Cookieส่วนหัวของการตอบสนองมี;Domain=backend.intเพราะส่วนแบ็กเอนด์ไม่ทราบว่ามันกำลังถูกพร็อกซีย้อนกลับ ฉันจะทำให้ nginx เขียนเนื้อหาของSet-Cookieส่วนหัวการตอบกลับแทนที่;Domain=backend.intด้วยได้;Domain=external.domain.comอย่างไร การผ่านHostส่วนหัวไม่เปลี่ยนแปลงไม่ได้เป็นตัวเลือกในกรณีนี้ Apache httpdมีคุณสมบัตินี้อยู่ครู่หนึ่งดูProxyPassReverseCookieDomainแต่ฉันไม่สามารถหาวิธีที่จะทำได้ใน nginx

3
วิธีการเขียน DRY โมดูลาร์ nginx conf (reverse proxy) ด้วยตำแหน่งที่ระบุชื่อ
ฉันใช้ nginx ส่วนใหญ่เป็นพร็อกซี cachining แบบย้อนกลับหน้าแอพพลิเคชั่น gunicon / mod_wsgi หลายตัวและแน่นอนกับเซิร์ฟเวอร์แบบคงที่ไฟล์ ฉันพบว่าเร็ว nginx confs ของฉันเป็นไปไม่ได้ที่จะรักษา; ปัญหาคือฉันมีรูปแบบไม่กี่อย่างที่คล้ายกัน (หรือเหมือนกัน) แต่ฉันไม่สามารถจัดการเพื่อให้มันสะอาด หนึ่งในปัญหาที่ใหญ่ที่สุดที่ฉันมีคือฉันชอบที่จะใช้สถานที่ที่มีชื่อเป็นวิธีการจัดกลุ่มชุดของ confs เช่น location @django_modwsgi { include proxy.conf; proxy_pass http://127.0.0.1:8080; } location @django_gunicorn { include proxy.conf; # this could also be included directly in the server {} block? proxy_pass http://gunicorn_builder; } NB ปัญหาไม่ได้มีทั้ง gunicorn …

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