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

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

4
SSL Handshake เจรจาต่อรองกับ Nginx ช้ามาก
ฉันใช้ Nginx เป็นพร็อกซีถึงอินสแตนซ์ของ apache 4 ตัว ปัญหาของฉันคือการต่อรอง SSL ใช้เวลานาน (600 ms) ดูตัวอย่างนี้: http://www.webpagetest.org/result/101020_8JXS/1/details/ นี่คือ Nginx Conf ของฉัน: user www-data; worker_processes 4; events { worker_connections 2048; use epoll; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; keepalive_timeout 0; tcp_nodelay on; gzip on; gzip_proxied any; server_names_hash_bucket_size 128; } upstream …
17 linux  ssl  nginx 

5
พร็อกซี Nginx ตามวิธีการร้องขอ
เป็นไปได้ / ฉันจะกำหนดค่าตำแหน่งบล็อก Nginx เป็นพร็อกซีไปยังแบ็กเอนด์ที่แตกต่างกันได้หรือไม่ขึ้นอยู่กับวิธีการร้องขอ (เช่น GET / POST) เหตุผลก็คือตอนนี้ฉันกำลังจัดการกับ 2 วิธีที่ 2 URL ที่ต่างกัน (อันเดียวผ่าน http proxy และอีกทางผ่าน fcgi) และฉันพยายามทำให้มันมากขึ้น "REST" ful ดังนั้นจะเป็นการดีที่สุดที่จะให้ทรัพยากรกลับรายการ ในขณะที่โพสต์ไปยังทรัพยากรเดียวกันควรเพิ่มลงในรายการ
17 proxy  nginx  http 

1
Nginx: วิธีการปิดใช้งานการร้องขอบัฟเฟอร์ของร่างกายโดยสิ้นเชิง
ฉันกำลังพยายามตั้งค่าMadsonicบนกล่อง Ubuntu ของฉันและให้ Nginx ทำงานต่อหน้ามัน ปัญหาคือฉันได้รับคำเตือนนี้ตลอดเวลาเมื่อฉันพยายามอัปโหลดเนื้อหาผ่านเว็บอินเตอร์เฟส: 31115#0: *14 a client request body is buffered to a temporary file นอกจากนี้ยังอธิบายว่าเหตุใดแถบความคืบหน้าในหน้าต่างอัปโหลดจึงไม่ทำงาน นี่คือการกำหนดค่า Nginx ที่เกี่ยวข้องของฉัน: # proxy the madsonic server here location / { proxy_pass https://madsonic-server/; proxy_redirect off; proxy_buffering off; proxy_request_buffering off; allow all; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header …



2
วิธีตั้งค่าการพึ่งพาบริการ systemd
ในระหว่างการเริ่มต้นระบบการเริ่มต้น CentOS 7 nginx ล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: 2014/08/04 17:27:34 [emerg] 790#0: bind() to a.b.c.d:443 failed (99: Cannot assign requested address) ฉันสงสัยว่าสิ่งนี้เกิดขึ้นเนื่องจากอินเทอร์เฟซเครือข่ายยังไม่พร้อมก่อนที่จะพยายามผูกกับที่อยู่ IP นั้นเพื่อให้บริการ vhost ผ่าน SSL ฉันเดาว่าฉันต้องระบุ network.service เป็นข้อกำหนดสำหรับ nginx.service แต่ฉันไม่พบบริการเครือข่ายใน / etc / systemd / เลย ฉันจะกำหนดค่าใบสั่งงานบริการหรือการขึ้นต่อกันใน systemd ได้อย่างไร?

3
nginx: ดัมพ์คำร้องขอ HTTP สำหรับการดีบัก
Ubuntu 10.04.2 nginx 0.7.65 ฉันเห็นคำขอ HTTP แปลก ๆ บางอย่างมาที่เซิร์ฟเวอร์ nginx ของฉัน เพื่อให้เข้าใจได้ดียิ่งขึ้นว่าเกิดอะไรขึ้นฉันต้องการถ่ายโอนข้อมูลคำขอ HTTP ทั้งหมดสำหรับการสืบค้นดังกล่าว (เช่นถ่ายโอนข้อมูลขอส่วนหัวและร่างกายที่ใดก็ได้ที่ฉันสามารถอ่านได้ ฉันสามารถทำได้ด้วย nginx อีกวิธีหนึ่ง, มีเซิร์ฟเวอร์ HTTP บางตัวที่อนุญาตให้ฉันทำสิ่งนี้ได้นอกกรอบ, ซึ่งฉันสามารถพร็อกซีคำขอเหล่านี้ด้วยวิธีการของ nginx? อัปเดต:โปรดทราบว่ากล่องนี้มีการรับส่งข้อมูลจำนวนมากและฉันต้องการหลีกเลี่ยงการจับภาพทั้งหมดในระดับต่ำ (พูดด้วยtcpdump) และกรองออกภายหลัง ฉันคิดว่ามันจะง่ายกว่ามากในการกรองทราฟฟิกที่ดีก่อนในกฎการเขียนใหม่ (โชคดีที่ฉันสามารถเขียนได้ง่าย ๆ ในกรณีนี้) แล้วจัดการกับทราฟฟิกที่หลอกลวงเท่านั้น tcpdumpและฉันไม่ต้องการที่จะหาช่องจราจรปลอมกล่องอื่นเพียงเพื่อให้สามารถที่จะจับมันที่นั่นด้วย อัปเดต 2:เพื่อให้รายละเอียดเพิ่มเติมเล็กน้อยคำขอปลอมมีพารามิเตอร์ชื่อ (พูด) fooในแบบสอบถาม GET (ค่าพารามิเตอร์อาจแตกต่างกัน) รับประกันการร้องขอที่ดีไม่ให้มีพารามิเตอร์นี้ ถ้าฉันสามารถกรองโดยสิ่งนี้ในtcpdumpหรือngrepอย่างใด - ไม่มีปัญหาฉันจะใช้เหล่านี้
17 ubuntu  nginx  http 

1
ฉันจะแสดงไฟล์ก่อน gzipped ด้วย nginx เพื่อให้ไฟล์เหล่านั้นแสดงเป็นข้อความในเบราว์เซอร์ได้อย่างไร
ฉันมีไฟล์บันทึก gzipped มากมายที่ฉันต้องการให้บริการด้วย nginx ฉันต้องการให้พวกเขาได้รับบริการในลักษณะที่เบราว์เซอร์นั้นพองตัวโดยอัตโนมัติ ฉันคิดว่านั่นหมายความว่าฉันต้องการ nginx เพื่อส่งไฟล์เป็น. gz ด้วยข้อความ / ส่วนหัวธรรมดา ซึ่งสามารถทำได้ใน apache กับสิ่งที่ชอบ: <FilesMatch *.gz> ForceType text/plain </FilesMatch>
17 nginx  gzip 

4
การเปิดใช้งานการเข้ารหัสการถ่ายโอนข้อมูลแบบ nunkx
ดูเหมือนว่าnginx 0.8.35 อาจรองรับการเข้ารหัสการถ่ายโอนแบบต่อเนื่อง : การเปลี่ยนแปลงด้วย nginx 0.8.35 01 เมษายน 2010 *) Change: now the charset filter runs before the SSI filter. *) Feature: the "chunked_transfer_encoding" directive. นี่เป็นสิ่งที่ดีมากเพราะฉันพยายามผลักดันการเปลี่ยนแปลง git ผ่านพร็อกซีย้อนกลับ nginx ไปยังกระบวนการ git-http-backend Git HTTP จะได้ประโยชน์จากการเข้ารหัสขนส่งเป็นชิ้นส่วนสำหรับเหตุผลที่ฝั่งไคลเอ็นต์ประสิทธิภาพ อย่างไรก็ตามฉันไม่สามารถใช้งานได้ ฉันใช้ nginx 0.8.44 กับ Debian Lenny ด้วยค่ากำหนดต่อไปนี้: ./configure \ --sbin-path=/usr/sbin \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log …
17 nginx  git  chunked 

2
แก้ไขหน้า HTML ที่ส่งคืนโดยพร็อกซีย้อนกลับ nginx
ฉันมีการตั้งค่าพร็อกซีย้อนกลับสำหรับการเข้าถึงแอปพลิเคชันบุคคลที่สามที่อยู่ภายในอินทราเน็ตจากอินเทอร์เน็ต สมมติว่าแอปพลิเคชันนี้อยู่ใน URL: https://internalserver:8080/ (เข้าถึงได้จากอินทราเน็ตเท่านั้น) และพร็อกซีเปิดอยู่: https://proxyserver/ (เข้าถึงได้จากทุกที่ในโลก) พรอกซีได้รับการจัดการโดย nginx และใช้งานได้ เมื่อผู้ใช้เข้าถึงhttps://proxyserver/ พวกเขาได้รับเนื้อหาของ app https://internalserver:8080/ที่ ปัญหาคือว่าการประยุกต์ใช้คือการเขียน URL ที่สมบูรณ์ในการตอบสนองของ HTML ดังนั้นเมื่อผู้ใช้คลิกลิงก์ไปยังหน้าใหม่เบราว์เซอร์ที่มีการพยายามที่จะหาหน้าเว็บที่มีชื่อภายในของตนเช่น แทนhttps://internalserver:8080/somepage https://proxyserver/somepage ฉันรู้ว่านี่เป็นข้อบกพร่องของโปรแกรม แต่ฉันไม่สามารถแก้ไขโปรแกรมได้ ฉันสามารถสกัดกั้นการตอบสนองแก้ไข URL และส่ง (แก้ไข) ไปยังไคลเอนต์สุดท้ายด้วย nginx ได้หรือไม่ หรืออาจจะด้วยเครื่องมืออื่น? แก้ไข:ฉันเห็นคำถามนี้มาก่อน แต่กรณีของฉันเฉพาะเจาะจงมากขึ้นคำถามที่ยกมาขอให้แก้ไขโดยทั่วไป ในกรณีนั้นโปรแกรม ad-cgi ที่รวดเร็วเป็นทางออกที่ดีที่สุดสิ่งที่ฉันต้องการคือโซลูชันที่เฉพาะเจาะจงมากขึ้นสำหรับ (ฉันคิดว่า) เป็นสถานการณ์ที่พบบ่อยมากขึ้น ในขณะที่โปรแกรม cgi ที่รวดเร็วสามารถทำงานได้ฉันกำลังมองหาสิ่งที่ง่ายที่สุดและแข็งแกร่งขึ้นและอาจพิสูจน์ได้ในโลกแห่งความเป็นจริงทางออกสำหรับสถานการณ์นี้

2
nginx แยกไฟล์การตั้งค่าขนาดใหญ่
ไฟล์การกำหนดค่าเริ่มต้นของ nginx ของฉันมีขนาดใหญ่มาก ฉันต้องการแยกให้เป็นไฟล์กำหนดค่าที่มีขนาดเล็กลงโดยแต่ละแห่งมีเพียงหนึ่งที่ตั้งสูงสุด 4 แห่งในแต่ละไฟล์เพื่อให้ฉันสามารถเปิด / ปิดใช้งานได้อย่างรวดเร็ว ไฟล์จริงมีลักษณะดังนี้: server { listen 80 default_server; root /var/www/ location /1 { config info...; } location /2 { config info....; } location /abc { proxy_pass...; } location /xyz { fastcgi_pass....; } location /5678ab { config info...; } location /admin { config info....; } …

2
Nginx https rewrite เปลี่ยน POST เป็น GET
พร็อกซีเซิร์ฟเวอร์ของฉันทำงานบน ip A และนี่คือวิธีที่ผู้ใช้เข้าถึงบริการเว็บของฉัน การกำหนดค่า nginx จะเปลี่ยนเส้นทางไปยังเครื่องเสมือนบน ip B สำหรับพร็อกซีเซิร์ฟเวอร์บน IP A ฉันมีสิ่งนี้ในเว็บไซต์ของฉัน server { listen 443; ssl on; ssl_certificate nginx.pem; ssl_certificate_key nginx.key; client_max_body_size 200M; server_name localhost 127.0.0.1; server_name_in_redirect off; location / { proxy_pass http://10.10.0.59:80; proxy_redirect http://10.10.0.59:80/ /; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server …
17 nginx  rewrite 

6
กฎ Nginx เขียนใหม่เพื่อแทนที่เครื่องหมายคำถามการสอบถามด้วยเครื่องหมายขีดล่าง
เพื่อแสดงทั้งเว็บไซต์เป็น HTML คงที่ ผมอยากจะแปลง URL เช่นการhttp://example.com/script.php?t=12http://example.com/script.php_t=12 แจ้งให้ทราบล่วงหน้า?ใน URL _จะถูกจะถูกแปลงเป็น สิ่งนี้จะช่วยให้ nginx หรือ apache ให้บริการไฟล์เหล่านี้จากดิสก์เป็น HTML ดิบที่เราได้รับและบันทึกจากwget- หนึ่งไฟล์สำหรับแต่ละ URL - แทนที่จะเป็นไฟล์ PHP เป็นไปได้หรือไม่ที่จะทำผ่านการเขียน URL Nginx ใหม่?
16 nginx 

5
Nginx ปิดใช้งาน. htaccess และไฟล์ที่ซ่อน แต่อนุญาตให้ใช้ไดเรกทอรีที่รู้จักกันดี
ฉันมีเซิร์ฟเวอร์ Nginx และปิดการใช้งานไฟล์ที่ซ่อนอยู่ใน nginx_vhost.conf ## Disable .htaccess and other hidden files location ~ /\. { deny all; access_log off; log_not_found off; } แต่ LetsEncrypt ต้องการการเข้าถึง .well-knownไดเรกทอรี ฉันจะอนุญาตให้.well-knownไดเรกทอรีและปฏิเสธไฟล์ที่ซ่อนอื่น ๆ ได้อย่างไร

2
เหตุใดกระบวนการ nginx จึงทำงานโดยไม่มีผู้ใช้
ฉันพยายามเซ็ตอัพ nginx ให้รันด้วยหนึ่งในแอพพลิเคชั่นทางรถไฟของฉันเมื่อดูผลลัพธ์ps -e | grep nginxแล้วฉันก็รู้ว่ากระบวนการของคนงาน nginx ทำงานโดยไม่มีผู้ใช้ มีเหตุผลทำไมพวกเขาไม่ทำงานเป็นข้อมูล www?

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