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

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

2
พร็อกซีแบบไดนามิกที่มี nginx ตาม url param
ฉันกำลังโหลดรูปภาพจากเว็บไซต์ภายนอกที่ฉันต้องการใช้ใน Canvas WebGL แบบ 3 มิติ อย่างไรก็ตามสิ่งนี้ไม่ได้รับอนุญาตเนื่องจากแหล่งกำเนิด URL ที่ฉันกำลังสร้างจากหน้าเว็บมีดังนี้: http://domain/somename/imagesproxy?url=http%3A%2F%2Fanothersite%2Fimage.png ตอนนี้ฉันต้องการproxy_passสมมติให้ URL รวมอยู่ในคำขอด้วย location /somename/imagesproxy { proxy_pass ... proxy_set_header host localhost; } ฉันจะรับ nginx ไปยัง proxy แบบไดนามิกไปยัง URL อื่นได้อย่างไร
11 nginx  proxy  dynamic 

1
วิธีป้องกัน nginx จากไดเรกทอรีย่อยที่ระบุเฉพาะของพร็อกซีย้อนกลับ
ใน Apache คุณสามารถใช้ ProxyPass ได้ทุกอย่างยกเว้นไดเรกทอรีย่อยอย่างน้อยหนึ่งไดเรกทอรี (ด้วย "!") ProxyPass /subdir ! ProxyPass / http://localhost:9999/ Nginx เทียบเท่าคืออะไร? เห็นได้ชัดว่าการเดาครั้งแรกของฉันไม่ทำงาน: location /subdir { root /var/www/site/subdir; } location / { proxy_pass http://localhost:9999/ ; }

1
การตรวจสอบใบรับรองลูกค้า ssl ล้มเหลวใน nginx
ฉันพยายามเซ็ตอัพการพิสูจน์ตัวตนไคลเอนต์ ssl ใน nginx ฉัน crated CA รูตที่ลงนามเอง เมื่อใช้อย่างนั้นฉันก็สร้าง sub-CA ขึ้นมา ฉันใช้ sub-CA นี้เพื่อสร้างใบรับรองสำหรับลูกค้า ฉันต่อ sub-CA และ root CA ลงในไฟล์ใหม่ ฉันตรวจสอบใบรับรองลูกค้าดังนี้: $ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt testcert.crt: OK auth-root.crt เป็น concatendated sub และ root CA; testcert.crt เป็นใบรับรองไคลเอ็นต์ ผมชี้ Nginx ไปรับรองความถูกต้อง root.crt ssl_client_certificateใช้ เมื่อฉันขอ HTTP โดยใช้ใบรับรอง testcert.crt nginx …

1
nginx: เขียนทั้งหมดยกเว้นที่เดียว
ตอนนี้ nginx ของฉันกำลังเขียนหลายโดเมนไปยังโดเมนหลักเดียวที่เราใช้อยู่ นี่คือหนึ่งกฎจากการกำหนดค่าของฉัน: server { listen X.X.X.X:80; server_name .exampleblog.org; rewrite ^(.*) http://blog.example.org$1 permanent; } ทุกคำขอไปยัง ** exampleblog.org * จะถูกเปลี่ยนเส้นทางไปยัง blog.example.org ตอนนี้ฉันต้องการwww.exampleblog.org/+และexampleblog.org/+เพื่อเปลี่ยนเส้นทางผู้ใช้ไปยังหน้า Google Plus ของเรา ลองรุ่นต่าง ๆ ของ: server { listen X.X.X.X:80; server_name .exampleblog.org; location /+ { rewrite ^ https://plus.google.com/12345678901234567890/ permanent; } rewrite ^(.*) http://blog.example.org$1 permanent; } รุ่นด้านบนและรุ่นอื่น ๆ เพียงแค่เปลี่ยนเส้นทางไปที่blog.example.org/+ …

7
เรียกใช้ Nginx เมื่อเริ่มต้น
ฉันสามารถติดตั้งและเรียกใช้ nginx และผู้โดยสารได้ แต่ฉันไม่สามารถให้ nginx เกิดขึ้นทุกครั้งที่ฉันรีบูตเซิร์ฟเวอร์ เพื่อเริ่มต้นกระบวนการ Nginx ฉันเพียงแค่พิมพ์sudo / จากความเข้าใจของฉันสิ่งที่ฉันใส่ใน / etc / init.d กับ Ubuntu แข็งแกร่งจะถูกดำเนินการ ไม่มีใครรู้คำสั่งที่จะเลียนแบบการเรียกบรรทัดคำสั่งนี้? sudo / opt / nginx / sbin / nginx
11 ubuntu  nginx  startup 

2
ทำความเข้าใจกับค่าที่แตกต่างกันสำหรับคำสั่ง 'nginx' Listen '
ฉันกำลังเขียนค่า nginx และฉันมีคำถามพื้นฐาน อะไรคือความแตกต่างระหว่าง: listen 443 ssl;เทียบlisten [::]:443 ssl;กับlisten [::]:443 ssl http2; เป้าหมายของฉันปลอดภัยเว็บแอปพลิเคชั่นนี้ แต่ก็ยังใช้งานได้กับลูกค้าเก่า หมายเหตุ: ฉันเข้าใจว่า[::]:443ต้องใช้กับ ipv6 แต่รวมถึง ipv4 ด้วยในกรณีนี้หรือไม่ ต้องการล้างแนวคิดของฉัน
10 nginx 

4
Nginx เขียนบนเครื่องนักเทียบท่าเมื่อพอร์ตโฮสต์! = พอร์ตของตู้คอนเทนเนอร์
ฉันกำลังพยายามเรียกใช้คอนเทนเนอร์นักเทียบท่าหลายตัวที่กำลังเรียกใช้ nginx ฟังพอร์ต 80 แต่ด้วยการจับคู่โฮสต์พอร์ตที่แตกต่างกับพอร์ตคอนเทนเนอร์ 80 ส่วนใหญ่ใช้งานได้ยกเว้นเมื่อ nginx ทำการเปลี่ยนเส้นทางเนื่องจากไม่มีเครื่องหมายสแลชต่อท้าย server { listen 80; root /var/www; index index.html; location /docs {} } ได้รับการกำหนดค่า nginx ข้างต้นและภาชนะนักเทียบท่าที่ใช้กับพอร์ตโฮสต์ 8080 แมปไปยังพอร์ตคอนเทนเนอร์ 80 ฉันจะได้รับ localhost: 8080 / docs / ผ่าน curl ok: > GET /docs/ HTTP/1.1 > User-Agent: curl/7.35.0 > Host: localhost:8080 > Accept: */* > …
10 nginx  docker 

4
ทำไมเว็บเซิร์ฟเวอร์ของฉันถึงปล่อยการเชื่อมต่อที่มีการรีเซ็ต TCP ที่โหลดสูง
ฉันมีการติดตั้ง VPS ขนาดเล็กพร้อม nginx ฉันต้องการบีบประสิทธิภาพให้ได้มากที่สุดเท่าที่จะเป็นไปได้ดังนั้นฉันจึงทำการทดลองเกี่ยวกับการเพิ่มประสิทธิภาพและการทดสอบโหลด ฉันใช้ Blitz.io เพื่อทำการทดสอบการโหลดโดยการรับไฟล์ข้อความเล็ก ๆ แบบคงที่และทำงานเป็นปัญหาแปลกที่เซิร์ฟเวอร์ดูเหมือนจะส่ง TCP รีเซ็ตเมื่อจำนวนการเชื่อมต่อพร้อมกันถึง 2000 ประมาณฉันรู้ว่านี่เป็นสิ่งที่ดีมาก จำนวนมาก แต่จากการใช้ htop เซิร์ฟเวอร์ยังคงมีเวลาเหลือเฟือในการใช้งาน CPU และหน่วยความจำดังนั้นฉันจึงต้องการหาแหล่งที่มาของปัญหานี้เพื่อดูว่าฉันสามารถผลักดันมันต่อไปได้อีกหรือไม่ ฉันใช้ Ubuntu 14.04 LTS (64 บิต) ใน 2GB Linode VPS ฉันไม่มีชื่อเสียงพอที่จะโพสต์กราฟนี้โดยตรงดังนั้นนี่คือลิงก์ไปยังกราฟ Blitz.io: นี่คือสิ่งที่ฉันได้ลองทำและค้นหาแหล่งที่มาของปัญหา: ค่าการworker_rlimit_nofileกำหนดค่าnginx ถูกตั้งค่าเป็น 8192 ได้nofileตั้งค่าเป็น 64000 สำหรับทั้งขีด จำกัด ฮาร์ดและซอฟต์rootและwww-dataผู้ใช้ (สิ่งที่ nginx ทำงานเป็น)/etc/security/limits.conf ไม่มีข้อบ่งชี้ว่ามีสิ่งผิดปกติเกิดขึ้น/var/log/nginx.d/error.log(โดยทั่วไปหากคุณพบข้อ จำกัด ของตัวอธิบายไฟล์ nginx จะพิมพ์ข้อความแสดงข้อผิดพลาดโดยบอกว่าเป็นอย่างนั้น) ฉันมีการตั้งค่า …
10 nginx  tcp  high-load  reset 

1
gitlab ทำงานช้าเมื่อทำงานบนโดเมนย่อย nginx
ฉันพยายามรัน gitlab บนโดเมนย่อย ผมติดตั้งรุ่นล่าสุด gitlab ใช้ติดตั้งรถโดยสารบน vserver ของฉัน (ใช้ Ubuntu 14.04.1) และปิดการใช้งาน Nginx รวมและกำหนดค่า Nginx unbundled กับการกำหนดค่าที่โพสต์ที่นี่วิธีการตั้งค่าโดเมนย่อยใน Nginx หรือไม่? / etc / Nginx / ไซต์ availible / gitlab upstream gitlab { server unix:/home/git/gitlab/tmp/sockets/gitlab.socket; } server { listen 80 default_server; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good …


2
ขนาดของอะตอมเขียนลงดิสก์ในระบบของฉันคือเท่าไหร่
ในเอกสารสำหรับสั่งเอกสาร Nginx กล่าวว่าaccess_log ขนาดบัฟเฟอร์ต้องไม่เกินขนาดของการเขียนอะตอมไปยังดิสก์ไฟล์ ฉันจะกำหนดขนาดนี้ในระบบของฉันได้อย่างไร?
10 linux  nginx 

2
ใช้ nginx กับ SNI
ตอนนี้ฉันยังไม่ได้ใช้ SNI กับ nginx เลย แต่เนื่องจากกลุ่มที่อยู่ IP ค่อนข้างเต็มและการสนับสนุน XP เชิงพาณิชย์กำลังจะหยุด (ในที่สุด) ฉันกำลังคิดที่จะแปลงบางไซต์เป็น SNI ฉันตระหนักถึงข้อ จำกัด และข้อผิดพลาดทั่วไปที่อาจมาพร้อมกับ SNI (ปัญหา XP, เบราว์เซอร์ที่เก่ามาก) แต่นอกเหนือจากนั้นมีอะไรที่ฉันควรระวัง? Like - ข้อผิดพลาดที่เกี่ยวข้องกับ nginx เมื่อใช้ SNI - ประเด็น / ข้อบกพร่องกับเบราว์เซอร์ (เด่น!) ล่าสุด
10 nginx  ssl  sni 

1
Nginx เปลี่ยนเส้นทางโดเมนย่อยโดเมนเก่าทั้งหมดไปยังโดเมนใหม่
ฉันมีโดเมนที่ยาวมากดังนั้นฉันจึงตัดสินใจเปลี่ยนเป็นโดเมนที่สั้นและเป็นมิตรมากขึ้น แต่เนื่องจากฉันมีโดเมนย่อยจำนวนมาก (อันที่จริงฉันมีโดเมนย่อย) จึงต้องการเก็บโดเมนย่อยไว้ขณะที่เปลี่ยนเฉพาะส่วนโดเมน ดังนั้นฉันทำกฎต่อไปนี้: server { listen 80; server_name ~^(\w+)\.olddomain\.com$; rewrite ^ $scheme://$1.doma.in$request_uri? permanent; } ฉันได้อ่านคำถามอื่น ๆ มากมายซึ่งข้อมูลโค้ดนี้แก้ไขปัญหาได้ แต่สำหรับฉัน Nginx จะเปลี่ยนเส้นทางไปยังเสมอ.domain.inโดยไม่มีโดเมนย่อยใด ๆ ฉันกำลังคิดถึงอะไร ฉันได้ทดสอบ regex เทียบกับ regex101 และตัวอย่างทำงานได้ดี Nginx ดูเหมือนจะไม่สามารถเปลี่ยนเส้นทางได้

2
nginx, alias, php-fpm = ไม่พบไฟล์
ฉันพยายามตั้งค่า nginx ด้วย DAViCal อย่างไรก็ตามฉันได้รับ "ไม่พบไฟล์" โดยมี "FastCGI ที่ส่งเป็น stderr:" ไม่ทราบสคริปต์หลัก "ในบันทึกดูเหมือนว่ามีบางอย่างผิดปกติกับนามแฝงของฉัน แต่ฉันไม่สามารถเข้าใจได้ โฮสต์เสมือนของฉัน: server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www-data; index index.html index.htm index.shtml index.php; # Make site accessible from http://localhost/ server_name …
10 php  nginx  php-fpm  fastcgi  alias 

5
Nginx ลบส่วนหัวความยาวเนื้อหาสำหรับเนื้อหาที่มีการแยก
ฉันใช้ nginx 1.2.3 เพื่อ proxy ไปยังสคริปต์: proxy_set_header Host $host; proxy_pass http://127.0.0.1:8880; proxy_buffering off; proxy_read_timeout 300s; gzip off; สคริปต์ส่งทั้งสองTransfer-encoding: chunkedและContent-Length: 251: HTTP/1.0 307 Temporary Redirect Content-length: 251 Pragma: no-cache Location: /... Cache-control: no-cache Transfer-encoding: chunked ฉันต้องการทั้งสองอย่าง แต่ nginx ลบโดยอัตโนมัติContent-Length: HTTP/1.1 302 Found Server: nginx/1.2.3 Content-Type: application/json; charset=utf-8 Content-Length: 58 Connection: keep-alive …
10 nginx 

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