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

Nginx ("engine x") คือเว็บเซิร์ฟเวอร์พร็อกซีย้อนกลับพร็อกซีสตรีม TCP และพร็อกซีอีเมลซึ่งเผยแพร่ภายใต้ใบอนุญาตเหมือน BSD

3
nginx อัปโหลดปัญหา client_max_body_size
ฉันใช้ nginx / ruby-on-rail และฉันมีรูปแบบหลายส่วนง่ายๆในการอัปโหลดไฟล์ ทุกอย่างทำงานได้ดีจนกว่าฉันจะตัดสินใจ จำกัด ขนาดไฟล์สูงสุดที่ฉันต้องการอัปโหลด ในการทำเช่นนั้นฉันตั้งค่า nginx client_max_body_sizeเป็น1m (1MB) และคาดว่าจะมีสถานะ HTTP 413 (Request Entity Too Large) ในการตอบสนองเมื่อกฎนั้นแตก ปัญหาคือเมื่อฉันอัปโหลดไฟล์ 1.2 MB แทนที่จะแสดงหน้าข้อผิดพลาด HTTP 413 เบราว์เซอร์จะแฮงค์เล็กน้อยจากนั้นก็ตายพร้อมกับข้อความ "การเชื่อมต่อถูกรีเซ็ตในขณะที่หน้ากำลังโหลด" ฉันได้ลองทุกตัวเลือกที่ nginx เสนอดูเหมือนจะไม่มีอะไรทำงาน ใครมีความคิดเกี่ยวกับเรื่องนี้หรือไม่? นี่คือ nginx.conf ของฉัน: worker_processes 1; timer_resolution 1000ms; events { worker_connections 1024; } http { passenger_root /the_passenger_root; passenger_ruby /the_ruby; …
117 http  file-upload  nginx 

10
ป้องกันการหมดเวลาของเกตเวย์ nginx 504 โดยใช้ PHP set_time_limit ()
ฉันได้รับข้อความการหมดเวลา 504 จาก nginx เมื่อสคริปต์ PHP ของฉันทำงานนานกว่าปกติ set_time_limit(0)ดูเหมือนจะป้องกันไม่ได้! ไม่ทำงานเมื่อรัน php5-fpm บน nginx? ถ้าเป็นเช่นนั้นวิธีการตั้งเวลาที่เหมาะสมคืออะไร? ข้อผิดพลาด: 504 Gateway Time-out nginx/1.2.7
117 php  nginx  fastcgi 

15
สาเหตุที่เป็นไปได้สำหรับรหัสข้อผิดพลาด NGINX 499
ฉันได้รับรหัสข้อผิดพลาด 499 NGINX จำนวนมาก ฉันเห็นว่านี่เป็นปัญหาจากฝั่งไคลเอ็นต์ ไม่ใช่ปัญหากับ NGINX หรือ uWSGI stack ของฉัน ฉันสังเกตความสัมพันธ์ในบันทึก uWSGI เมื่อได้รับ 499 address space usage: 383692800 bytes/365MB} {rss usage: 167038976 bytes/159MB} [pid: 16614|app: 0|req: 74184/222373] 74.125.191.16 () {36 vars in 481 bytes} [Fri Oct 19 10:07:07 2012] POST /bidder/ => generated 0 bytes in 8 msecs (HTTP/1.1 …

8
การจัดการกับ nginx 400 ข้อผิดพลาด“ คำขอ HTTP ธรรมดาถูกส่งไปยังพอร์ต HTTPS”
ฉันใช้งานแอป Sinatra หลังผู้โดยสาร / nginx ฉันกำลังพยายามทำให้มันตอบสนองต่อการโทรทั้ง http และ https ปัญหาคือเมื่อกำหนดทั้งสองอย่างในการโทร https บล็อกเซิร์ฟเวอร์จะได้รับการตอบสนองตามปกติ แต่ http ให้ข้อผิดพลาด 400 "คำขอ HTTP ธรรมดาถูกส่งไปยังพอร์ต HTTPS" นี่คือหน้าคงที่ดังนั้นฉันเดาว่าซินาตร้าไม่เกี่ยวข้องกับสิ่งนี้ มีแนวคิดในการแก้ไขปัญหานี้อย่างไร นี่คือบล็อกเซิร์ฟเวอร์: server { listen 80; listen 443 ssl; server_name localhost; root /home/myhome/app/public; passenger_enabled on; ssl on; ssl_certificate /opt/nginx/ssl_keys/ssl.crt; ssl_certificate_key /opt/nginx/ssl_keys/ssl.key; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; location /static { …
115 nginx 

1
ปรับแต่ง nginx worker_process เพื่อรับ 100k hit ต่อนาที
เรามีเซิร์ฟเวอร์ที่ให้บริการไฟล์ html หนึ่งไฟล์ ตอนนี้เซิร์ฟเวอร์มี 2 CPU และ 2GB ของ ram จาก blitz.io เราได้รับการเชื่อมต่อประมาณ 12k ต่อนาทีและทุกที่จาก 200 ไทม์เอาต์ใน 60 วินาทีนั้นพร้อม 250 การเชื่อมต่อพร้อมกันในแต่ละวินาที worker_processes 2; events { worker_connections 1024; } ถ้าฉันเพิ่มระยะหมดเวลาเวลาตอบสนองจะเริ่มคืบคลานขึ้นมาภายในหนึ่งวินาที ฉันจะทำอะไรได้อีกเพื่อบีบน้ำออกจากสิ่งนี้
115 nginx 

7
จะส่งต่อพารามิเตอร์สตริงการสืบค้นผ่าน proxy_pass ด้วย nginx ได้อย่างไร
upstream apache { server 127.0.0.1:8080; } server{ location ~* ^/service/(.*)$ { proxy_pass http://apache/$1; proxy_redirect off; } } ข้อมูลโค้ดด้านบนจะเปลี่ยนเส้นทางคำขอที่ URL รวมสตริง "service" ไปยังเซิร์ฟเวอร์อื่น แต่ไม่รวมพารามิเตอร์การค้นหา
114 parameters  nginx 

4
nginx: [ฉุกเฉิน] คำสั่ง "เซิร์ฟเวอร์" ไม่ได้รับอนุญาตที่นี่
ฉันได้กำหนดค่า nginx ใหม่แล้ว แต่ไม่สามารถเริ่มต้นใหม่ได้โดยใช้การกำหนดค่าต่อไปนี้: conf: server { listen 80; server_name www.example.com; return 301 $scheme://example.com$request_uri; } server { listen 80; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location /robots.txt { alias /path/to/robots.txt; access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } location / { proxy_pass_header Server; proxy_set_header …
113 nginx 

7
ฉันจะรีสตาร์ท nginx หลังจากการทดสอบการกำหนดค่าสำเร็จบน Ubuntu ได้อย่างไร
เมื่อฉันรีสตาร์ทบริการ nginx บนบรรทัดคำสั่งบนเซิร์ฟเวอร์ Ubuntu บริการจะหยุดทำงานเมื่อไฟล์กำหนดค่า nginx มีข้อผิดพลาด บนเซิร์ฟเวอร์หลายไซต์จะทำให้ไซต์ทั้งหมดลงแม้แต่ไซต์ที่ไม่มีข้อผิดพลาดในการกำหนดค่า เพื่อป้องกันสิ่งนี้ฉันเรียกใช้การทดสอบการกำหนดค่า nginx ก่อน: nginx -t หลังจากการทดสอบเสร็จสมบูรณ์ฉันสามารถเริ่มบริการใหม่ได้: /etc/init.d/nginx restart หรือโหลดเฉพาะการกำหนดค่าไซต์ nignx โดยไม่ต้องรีสตาร์ท: nginx -s reload มีวิธีรวมคำสั่งสองคำสั่งนี้โดยที่คำสั่ง restart เป็นเงื่อนไขกับผลการทดสอบการกำหนดค่าหรือไม่? ฉันไม่พบสิ่งนี้ทางออนไลน์และเอกสารอย่างเป็นทางการเกี่ยวกับเรื่องนี้ค่อนข้างธรรมดา ฉันไม่รู้วิธีการใช้งาน Linux ดังนั้นฉันจึงไม่รู้ว่าสิ่งที่ฉันกำลังมองหานั้นอยู่ตรงหน้าฉันหรือไม่ได้เลย ฉันใช้ nginx v1.1.19

3
วิธีเปลี่ยนเส้นทาง URL เดียวใน nginx
ฉันอยู่ระหว่างการจัดโครงสร้าง URL ใหม่ ฉันต้องการตั้งค่ากฎการเปลี่ยนเส้นทางสำหรับ URL เฉพาะ - ฉันใช้ NGINX โดยทั่วไปสิ่งนี้: http://example.com/issue1 --> http://example.com/shop/issues/custom_issue_name1 http://example.com/issue2 --> http://example.com/shop/issues/custom_issue_name2 http://example.com/issue3 --> http://example.com/shop/issues/custom_issue_name3 ขอบคุณ!
111 nginx  rewrite 

3
เกตเวย์ API เทียบกับพร็อกซีย้อนกลับ
เพื่อที่จะจัดการกับสถาปัตยกรรม MICROSERVICE ก็มักจะใช้ควบคู่ไปกับพร็อกซี (Reverse เช่น Nginx หรือ Apache httpd) และสำหรับการตัดความกังวลการดำเนินการข้าม รูปแบบเกตเวย์ API ถูกนำมาใช้ บางครั้ง Reverse proxy ทำงานกับเกตเวย์ API จะเป็นการดีที่จะเห็นความแตกต่างที่ชัดเจนระหว่างสองแนวทางนี้ ดูเหมือนว่าประโยชน์ที่เป็นไปได้ของการใช้งานเกตเวย์ API คือการเรียกใช้ไมโครเซอร์วิสหลาย ๆ ตัวและรวบรวมผลลัพธ์ ความรับผิดชอบอื่น ๆ ทั้งหมดของเกตเวย์ API สามารถใช้งานได้โดยใช้ Reverse Proxy เช่น: การพิสูจน์ตัวตน (สามารถทำได้โดยใช้สคริปต์ nginx LUA) ความปลอดภัยในการขนส่ง ตัวมันเองงาน Reverse Proxy; โหลดบาลานซ์ .... จากนี้มีคำถามหลายข้อ: มันสมเหตุสมผลหรือไม่ที่จะใช้เกตเวย์ API และพร็อกซีย้อนกลับพร้อมกัน (ดังตัวอย่างคำขอ -> เกตเวย์ Api-> …

4
nginx- ข้อผิดพลาดของเซิร์ฟเวอร์เริ่มต้นที่ซ้ำกัน
ในบันทึกข้อผิดพลาดของฉันฉันได้รับ [Emerg] 10619 # 0: เซิร์ฟเวอร์เริ่มต้นที่ซ้ำกันสำหรับ 0.0.0.0:80 ใน /etc/nginx/sites-enabled/mysite.com:4 ในบรรทัดที่ 4 ฉันมี: server_name mysite.com www.mysite.com; ข้อเสนอแนะใด ๆ ?
107 nginx 

9
การเปลี่ยนเส้นทาง EC2 Elastic Load Balancer จาก HTTP เป็น HTTPS
ฉันต้องการที่จะเปลี่ยนเส้นทางทั้งหมดที่ร้องขอ HTTP การร้องขอ https บนELB ฉันมีอินสแตนซ์ EC2 สองรายการ ฉันใช้ nginx สำหรับเซิร์ฟเวอร์ ฉันได้ลองเขียนไฟล์ nginx conf ใหม่โดยไม่ประสบความสำเร็จ ฉันชอบคำแนะนำบางอย่างเกี่ยวกับเรื่องนี้

4
วิธีแก้ไข nginx.conf เพื่อเพิ่มขนาดไฟล์อัพโหลด
ฉันต้องการเพิ่มจำนวนmaximum file sizeที่สามารถอัปโหลดได้ หลังจากทำการค้นคว้าทางออนไลน์ฉันพบว่าคุณต้องแก้ไขไฟล์ 'nginx.conf' วิธีเดียวที่ฉันสามารถเข้าถึงไฟล์นี้ได้คือไปที่ Putty และพิมพ์คำสั่ง: vi /etc/nginx/nginx.conf สิ่งนี้จะเปิดไฟล์ แต่ฉันมี 2 คำถามตอนนี้: ฉันจะแก้ไขไฟล์นี้ได้อย่างไร? ฉันพบออนไลน์ที่คุณต้องเพิ่มบรรทัดของรหัสต่อไปนี้: client_max_body_size 8M; ฉันจะใส่รหัสบรรทัดนี้ไว้ที่nginx.confใด

14
SSL: ข้อผิดพลาด: 0B080074: รูทีนใบรับรอง x509: X509_check_private_key: ค่าคีย์ไม่ตรงกัน
ฉันไม่สามารถตั้งค่า SSL ได้ ฉันได้ใช้ Google และพบวิธีแก้ปัญหาเล็กน้อย แต่ไม่มีวิธีใดที่ใช้ได้ผลกับฉัน ฉันต้องการความช่วยเหลือ ... นี่คือข้อผิดพลาดที่ฉันได้รับเมื่อพยายามรีสตาร์ท nginx: root@s17925268:~# service nginx restart Restarting nginx: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/ssl/ssl.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) nginx: configuration file /etc/nginx/nginx.conf test failed ใบรับรองของฉันมาจาก StartSSL และมีอายุ 1 ปี นี่คือสิ่งที่ฉันทดสอบ: ใบรับรองและคีย์ส่วนตัวไม่มีช่องว่างต่อท้าย ฉันไม่ได้ใช้ไฟล์ server.key เริ่มต้น ฉันตรวจสอบ nginx.conf และคำสั่งชี้ไปที่คีย์ส่วนตัวและใบรับรองที่ถูกต้อง ฉันตรวจสอบโมดูลัสด้วยและฉันได้รับโมดูลัสที่แตกต่างกันสำหรับทั้งคีย์และใบรับรอง ขอขอบคุณสำหรับความช่วยเหลือของคุณ. :)
106 ssl  nginx  openssl  certificate  key 

7
วิธีเชื่อมโยงคอนเทนเนอร์ php-fpm และ Nginx Docker อย่างถูกต้อง?
ฉันกำลังพยายามเชื่อมโยง 2 คอนเทนเนอร์แยกกัน: nginx: ล่าสุด php: fpm ปัญหาคือสคริปต์ php ไม่ทำงาน บางทีการกำหนดค่า php-fpm ไม่ถูกต้อง นี่คือรหัสแหล่งที่มาซึ่งอยู่ในของฉันพื้นที่เก็บข้อมูล นี่คือไฟล์docker-compose.yml: nginx: build: . ports: - "80:80" - "443:443" volumes: - ./:/var/www/test/ links: - fpm fpm: image: php:fpm ports: - "9000:9000" และDockerfileสิ่งที่ฉันใช้ในการสร้างอิมเมจที่กำหนดเองตาม nginx one: FROM nginx # Change Nginx config here... RUN rm /etc/nginx/conf.d/default.conf ADD ./default.conf …

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