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

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

1
nginx ตรวจจับตำแหน่งอื่น ๆ ทั้งหมดที่ระบุ
ฉันมีที่ตั้งบางแห่งบนเซิร์ฟเวอร์ของฉัน ฉันต้องการจับตำแหน่งอื่นทั้งหมดที่ผู้ใช้ให้ผ่านเบราว์เซอร์ ทำอย่างไรถึงจะได้? ตัวอย่างเช่น server { ... location /location1 { do something; } location /location2 { do something; } location /all_other_locations { return 301 http://www.google.de }
19 nginx 

1
วิธีบรรเทา POODLE แต่ให้รองรับ SSLv3 สำหรับไคลเอนต์เก่า
ฉันจะลดการโจมตี POODLE ได้อย่างไร แต่ยังคงให้การสนับสนุนไคลเอ็นต์เก่าเช่น IE6 บน Windows XP หรือไคลเอนต์อีเมล ฉันสังเกตเห็นว่า Google ทำสิ่งนี้: https://www.ssllabs.com/ssltest/analyze.html?d=mail.google.com ฉันใช้ nginx และ openssl นอกจากนี้ฉันต้องการรักษาความลับส่งต่อด้วยเบราว์เซอร์ที่ทันสมัย ​​/ ส่วนใหญ่ ฉันต้องการให้คะแนน A ของฉันบน ssllabs
19 nginx  ssl  poodle 

2
Nginx add_header สำหรับหน้า 50 *
ฉันกำลังพยายามรับ nginx เพื่อเพิ่มส่วนหัวในการตอบสนองเมื่อมันส่งข้อผิดพลาด 50 * บางชนิด ฉันมีคำสั่ง add_header ในบล็อก http แล้วและนั่นก็เป็นที่เคารพสำหรับคำขอทั้งหมดยกเว้นดูเหมือนว่าข้อผิดพลาด ฉันยังลองต่อไปนี้ใน vhosts ของฉัน: location /mediocregopheristhecoolest { add_header X-Test "blahblahblah"; return 502; } การไปที่หน้านั้นทำให้ฉันมี 502 แต่ไม่มีส่วนหัว นี่เป็นเพียงสิ่งที่ nginx ไม่ได้ทำหรือฉันทำผิดหรือเปล่า?

5
ไม่สามารถรวบรวม nginx ด้วยการรองรับ SSL ไม่พบ OpenSSL
ฉันกำลังพยายามรวบรวม nginx จากแหล่งที่มาพร้อมกับเปิดใช้งานโมดูล SSL เมื่อฉันเรียกใช้คำสั่งนี้: ./configure --with-http_ssl_module มันจะทำการตรวจสอบตามปกติเพื่อดูว่าทุกอย่างได้รับการติดตั้งอย่างถูกต้องหรือไม่จากนั้นจะปรากฏขึ้น: กำลังตรวจหาไลบรารี OpenSSL ... ไม่พบ ./configure: ข้อผิดพลาด: โมดูล SSL ต้องการไลบรารี OpenSSL คุณไม่สามารถเปิดใช้งานโมดูลหรือติดตั้งไลบรารี OpenSSL ลงในระบบหรือสร้างไลบรารี OpenSSL แบบคงที่จากแหล่งที่มาด้วย nginx โดยใช้ตัวเลือก --with-openssl = ฉันรู้ว่ามีการติดตั้ง OpenSSL เพราะเมื่อopenssl versionฉันได้รับOpenSSL 1.0.1 14 Mar 2012 ดังนั้นฉันค่อนข้างนิ่งงัน ฉันคิดว่าบางที OpenSSL ไม่ได้ถูกติดตั้งในตำแหน่งเริ่มต้นซึ่งเป็นสาเหตุที่ nginx หาไม่พบ แต่ฉันไม่รู้ว่ามันอยู่ที่ไหนเพราะติดตั้งมากับเซิร์ฟเวอร์ล่วงหน้า ฉันจะทราบได้อย่างไรว่านี่คืออะไร? เซิร์ฟเวอร์กำลังใช้งาน Ubuntu 12.04 LTS ขอบคุณ
19 ubuntu  nginx  openssl 

2
nginx ส่งการตอบสนองที่ว่างเปล่า 200 ข้อ
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 8 ปีที่ผ่านมา ฉันกำลังกำหนดค่าเซิร์ฟเวอร์ล้มเหลวที่ได้รับมอบหมายให้ยอมรับคำขอใด ๆ ที่เข้ามาและตอบกลับด้วยการตอบสนองเปล่า 200 ความคิดคือการลดเวลาตอบกลับและเพื่อให้แน่ใจว่าเราไม่ได้ส่ง 40x หรือ 50x ฉันพยายามใช้return 200;สำหรับตำแหน่งที่ต้องการภายใน Nginx แต่ระบบการตรวจสอบของฉัน (Pingdom) ไม่ชอบการตอบสนองและพิจารณาว่าเซิร์ฟเวอร์ไม่ตอบสนอง มีวิธีที่ดีกว่าในการทำเช่นนี้แน่นอนด้วยค่าใช้จ่ายน้อยที่สุดบนเซิร์ฟเวอร์?
19 http  nginx 

1
ฉันจะรับ nginx เพื่อส่งต่อคำขอ HTTP POST ผ่านการเขียนใหม่ได้อย่างไร
แอป iOS ของฉันกำลังเข้าถึงโดเมน A ผ่าน http POST แต่ฉันต้องการส่งต่อคำขอทั้งหมดไปยังโดเมน B ถ้าฉันใช้ตามปกติrewrite ^/(.*)$ http://mydomain/$1 permanent;ข้อมูล POST ดูเหมือนว่าจะหายไป ฉันจะส่งข้อมูล HTTP POST ไปยังโดเมนอื่นโดยใช้ NginX ได้อย่างไร
19 ubuntu  nginx  redirect 

11
Nginx เปลี่ยนเส้นทางไปที่พอร์ต 8080 เมื่อเข้าถึง url โดยไม่มีเครื่องหมายทับ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับข้อบกพร่องของเซิร์ฟเวอร์ ปิดให้บริการใน7 เดือนที่ผ่านมา เมื่อเข้าถึง: http://example.com/somefolder -> http://example.com:8080/somefolder ฉันได้ลองสิ่งนี้แล้ว: http { port_in_redirect off; ความคิดใด ๆ
19 nginx 

2
nginx เพิ่มเงื่อนไขส่วนหัวบนตัวแปร upstream_http_
ฉันมี reverse proxy บน nginx ซึ่งพร็อกซีค่อนข้างบางไซต์ ฉันเพิ่งเปิดใช้งาน HTTP Strict Transport Security สำหรับเว็บไซต์ที่เปิดใช้ SSL ทั้งหมด ตอนนี้ฉันมีเว็บไซต์หนึ่งที่ไม่ต้องการเปิดใช้งานนี้ ฉันคิดว่าฉันจะตรวจสอบอย่างง่าย ๆ ถ้าต้นน้ำของฉันส่ง - ส่วนStrict-Transport-Securityหัวให้ฉันแล้วและถ้าไม่ให้เพิ่มอีกหนึ่งอัน ด้วยวิธีนี้อัปสตรีมของฉันสามารถส่งส่วนหัว STS ที่มีmax-age=0เพื่อหลีกเลี่ยงการเปิดใช้งาน HSTS โดยพร็อกซี ฉันคิดว่าฉันเพิ่งเปลี่ยนการกำหนดค่าของฉันดังนี้ location / { proxy_pass http://webservers; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto "https"; if ($upstream_http_strict_transport_security = "") { add_header Strict-Transport-Security "max-age=15552000"; …

3
การอนุญาตถูกปฏิเสธสำหรับ fastcgi_pass โดยใช้ PHP7
ฉันใช้ LEMP กับ PHP7.0 ฉันมีสิ่งนี้ในบล็อกเซิร์ฟเวอร์ของฉัน fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; แต่เมื่อฉันเปิดไซต์มันจะคืนค่า 502 Bad Gateway ด้านล่างนี้เป็นบันทึกข้อผิดพลาด *1 connect() to unix:/var/run/php/php7.0-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: example.com, request: "GET / HTTP1.1", upstream: "fsatcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "example.com" มันบอกว่าอนุญาตปฏิเสธ เกิดอะไรขึ้นที่นี่? ฉันได้ตรวจสอบแล้ว แต่ฉันไม่สามารถหาสิ่งที่ต้องได้รับการอนุญาต ขอขอบคุณ.
19 nginx  php  php7 

3
nginx เป็น reverse proxy พร้อมอัพสตรีม SSL
ฉันกำลังสร้างพร็อกซีสำหรับ API ภายในเพื่อให้ลูกค้าเชื่อมต่อโดยไม่ต้องติดตั้งใบรับรองที่ลงนามเอง ลูกค้า (สร้างขึ้นเป็นเจ้าของและใช้ภายในเท่านั้น) จะเชื่อมต่อผ่าน SSL ไปยังกล่อง nginx โดยที่ฉันใช้XSendfileเพื่อตรวจสอบข้อมูลรับรองในระดับแอปพลิเคชัน (แอปพลิเคชันราง) หากข้อมูลรับรองนั้นถูกต้องการเชื่อมต่อจะถูกส่งกลับไปยัง nginx โดยที่มันจะใช้ proxy_pass เพื่อส่งการเชื่อมต่อไปยังเซิร์ฟเวอร์ upstream ตอนนี้ใช้งานได้ดีสำหรับการเชื่อมต่อ http มาตรฐาน แต่ฉันพยายามหาวิธีเพิ่มใบรับรองของเราลงในส่วนผสม คำถามนี้เกือบจะเหมือนกันกับคำถามนี้แต่มีข้อกำหนดด้านใบรับรองที่น่าอึดอัดใจ เป็นไปได้ด้วย nginx หรือไม่ มีวิธีแก้ปัญหาที่ดีกว่านี้ไหม? ฉันต้องการชำระ http จากไคลเอ็นต์ -> nginx และใบรับรองที่ลงนามเองจาก nginx เป็น API

1
ฉันควรตั้งค่าการอนุญาตใดเป็น dhparam.pem
ฉันกำลังสร้างพารามิเตอร์ Diffie-Hellman สำหรับssl_dhparamคำสั่งในการกำหนดค่า SSL ของ nginx ไฟล์ที่ถูกสร้างขึ้นด้วยคำสั่งdhparam.pemopenssl dhparam 2048 -check -out dhparam.pem ฉันควรตั้งค่าสิทธิ์ใดให้กับไฟล์นี้ มีความปลอดภัยในการแชร์ในที่เก็บ git หรือฉันควรเก็บไว้เป็นความลับ?
18 nginx  ssl  openssl  chmod 

10
Shellshock: ฉันจะรู้ได้อย่างไรว่าเซิร์ฟเวอร์ของฉันถูกบุกรุก + ไฟล์ที่น่าสงสัยที่ต้องระวัง
สามคำถามที่ฉันหวังว่าใครบางคนสามารถช่วยตอบ: ฉันจะรู้ได้อย่างไรว่าเซิร์ฟเวอร์ของฉันถูกบุกรุกเนื่องจากข้อผิดพลาดของ Shellshock? หากถูกบุกรุกมีโฟลเดอร์ใดที่ฉันควรค้นหาไฟล์ที่เป็นอันตรายหรือไม่ ไฟล์ที่เป็นอันตรายมีลักษณะอย่างไร ฉันใช้ CentOS 6, LEMP stack
18 centos  nginx 

3
การแบ่งปันซ็อกเก็ตยูนิกซ์ผ่านทางนักเทียบท่าปริมาณ - สิทธิ์ถูกปฏิเสธ
ฉันพยายามแชร์php5-fpmซ็อกเก็ตของฉันผ่านไดรฟ์ข้อมูลกับnginxเว็บเซิร์ฟเวอร์ของฉัน Fpm และ nginx กำลังทำงานในคอนเทนเนอร์ที่แตกต่างกันและฉันต้องการให้พวกเขาทำงานผ่านไดรฟ์ข้อมูลที่ใช้ร่วมกันที่ฉันวางไฟล์ซ็อกเก็ตจาก fpm 2014/04/13 10:53:35 [crit] 33#0: *1 connect() to unix:/container/fpm/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.8.2, server: docker.dev, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/container/fpm/run/php5-fpm.sock:", host: "docker.dev" ฉันพยายามแล้วตั้งค่าสิทธิ์ 777 และการเปลี่ยนแปลงของกลุ่มที่จะphp5-fpm.socketwww-data Dockerfile ของคอนเทนเนอร์ fpm FROM ubuntu:13.10 RUN apt-get update RUN apt-get upgrade -y RUN …
18 nginx  socket  docker 

2
อะไรคือความแตกต่างระหว่างการใช้อัปสตรีมและตำแหน่งสำหรับ php-fpm
ฉันค้นหามาแล้ว แต่ไม่พบคำตอบที่ตรงถ้าใครซักคนโปรดอธิบายให้เข้าใจก็จะได้รับการชื่นชมอย่างมากขอบคุณ! location ~ \.php$ { try_files $uri = 404; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } และ / หรือ? upstream php { server unix:/run/php-fpm/php-fpm.sock; } ขอบคุณ!

3
วิธีการให้ nginx ส่งต่อส่วนหัว HTTP_X_FORWARDED_PROTO
ฉันปิดกั้นการตั้งค่าของฉันจาก nginx > apache/php ถึง haproxy > nginx > apache/php (ใช้ haproxy 1.5-dev18 พร้อมการรองรับ ssl) ทั้ง nginx และ haproxy มีการตั้งค่าอย่างถูกต้องเพื่อตั้งค่าส่วนหัว HTTP_X_FORWARDED_PROTO อย่างไรก็ตามเมื่อ nginx รับการรับส่งข้อมูล ssl จาก haproxy จะเห็นการเชื่อมต่อเป็น http และตั้งค่าส่วนหัวเป็นเช่นนั้น ฉันจะตั้งค่า nginx ให้ส่งต่อส่วนหัว HTTP_X_FORWARDED_PROTO ได้อย่างไรถ้ามีอยู่ แต่ถ้าไม่เช่นนั้นให้ทำการตั้งค่าตามการเชื่อมต่อต่อไป
18 nginx 

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