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

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

3
Wildcard vhosts บน Nginx
ฉันเพิ่งติดตั้ง Nginx บนเซิร์ฟเวอร์ของฉันและมีความสุขมากกับผลลัพธ์อย่างไรก็ตามฉันยังไม่สามารถหาวิธีแทรกโฮสต์เสมือนจริงได้ นี่คือโครงสร้าง [ไดเรกทอรี] ที่ฉันต้องการ: -- public_html (example.com) ---subdoamin 1 (x.example.com) ---subdomain 2 (y.example.com) อย่างที่คุณเห็นว่ามันค่อนข้างง่าย แต่ฉันต้องการความสามารถในการเพิ่มโดเมนโดยเพิ่มระเบียน A สำหรับโดเมนย่อยใหม่ซึ่งจะชี้ไปยังไดเรกทอรีย่อยของชื่อเดียวกันภายใต้ public_html มีบางสิ่งในเว็บ แต่ฉันไม่ได้เจออะไรแบบนี้ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.

2
สิทธิ์ nginx ถูกปฏิเสธไปยังไฟล์ใบรับรองสำหรับการกำหนดค่า ssl
ฉันกำลังติดตั้งพร็อกซี nginx ssl บนเซิร์ฟเวอร์ Fedora ของฉัน ฉันได้สร้างคู่คีย์และใบรับรองภายใต้ / etc / nginx พวกเขามีลักษณะเช่นนี้: ls -l /etc/nginx/ total 84 ... -rw-r--r--. 1 root root 1346 Sep 20 12:11 demo.crt -rw-r--r--. 1 root root 1679 Sep 20 12:11 demo.key ... ในฐานะที่เป็น root ฉันพยายามเริ่มบริการ nginx: systemctl start nginx.service ฉันได้รับข้อผิดพลาดต่อไปนี้: nginx[30854]: nginx: [emerg] SSL_CTX_use_certificate_chain_file("/etc/nginx/demo.crt") failed …

5
เปลี่ยนเส้นทางไม่ใช่ www ไปยัง www ผ่าน SSL ด้วย Nginx
ฉันมีข้อผิดพลาดเมื่อพยายามที่จะเปลี่ยนเส้นทางhttps://example.comเพื่อhttps://www.example.com เมื่อฉันไปที่https://example.comจะไม่เปลี่ยนเส้นทางและส่งคืนสถานะหน้า / 200 ฉันไม่ต้องการที่นี้ผมต้องการให้เปลี่ยนเส้นทางไปยังhttps://www.example.com เมื่อฉันไปที่http://example.comมันจะเปลี่ยนเส้นทางไปที่https://www.example.com ใครสามารถบอกฉันได้ว่าฉันกำลังทำผิดอยู่ที่ไหน? นี่คือไฟล์คอนฟิกูเรชันดีฟอลต์และ default-ssl ของฉัน: default.conf server { listen 80; server_name example.com; return 301 https://www.example.com$request_uri; } เริ่มต้น ssl.conf upstream app_server_ssl { server unix:/tmp/unicorn.sock fail_timeout=0; } server { server_name example.com; return 301 https://www.example.com$request_uri } server { server_name www.example.com; listen 443; root /home/app/myproject/current/public; index index.html index.htm; error_log …

5
ค่าที่เหมาะสมที่สุดสำหรับ Nginx worker_connections
Nginx worker_connections"ตั้งค่าจำนวนสูงสุดของการเชื่อมต่อพร้อมกันที่สามารถเปิดได้โดยกระบวนการของผู้ปฏิบัติงานจำนวนนี้รวมถึงการเชื่อมต่อทั้งหมด (เช่นการเชื่อมต่อกับเซิร์ฟเวอร์พร็อกซีและอื่น ๆ ) ไม่เพียง แต่การเชื่อมต่อกับไคลเอนต์ ต้องไม่เกินขีด จำกัด ปัจจุบันของจำนวนไฟล์ที่เปิดสูงสุด " ฉันมีข้อสงสัยเล็กน้อยเกี่ยวกับสิ่งนี้: สิ่งที่ควรค่าที่ดีที่สุดหรือแนะนำสำหรับนี้ ข้อเสียของการใช้การเชื่อมต่อของผู้ปฏิบัติงานจำนวนมากคืออะไร

3
ส่งต่อส่วนหัวที่กำหนดเองจาก Nginx Reverse Proxy
ฉันมีเว็บเซิร์ฟเวอร์ nginx ซึ่งทำหน้าที่เป็นพร็อกซีย้อนกลับเพื่อส่งต่อคำขอไปยัง Apache สำหรับการจัดการเพิ่มเติม (ฉันขอให้คุณอย่าถามว่าทำไม) ฉันมีคำขอที่ฉันพยายามแนบส่วนหัวที่กำหนดเองและฉันต้องการให้ nginx ส่งต่อส่วนหัวที่กำหนดเองนั้นไปยัง Apache เพื่อให้ฉันสามารถทำอะไรกับมันได้ในแอป ฉันแหย่ผ่านHttpProxyModuleเอกสาร แต่พวกเขาไม่ได้อธิบายมากถึงแม้ว่าฉันจะอยู่ในสถานที่ที่เหมาะสม (มันอาจเป็นไปได้ว่าฉันไม่ได้) ฉันจะรับ nginx เพื่อส่งต่อX-CUSTOM-REFERRERส่วนหัวได้อย่างไร ยิ่งไปกว่านั้นถ้าเป็นไปได้ฉันต้องการให้ส่งต่อไปตามส่วนหัวที่กำหนดเองใด ๆที่เข้ามาหากว่าหลังถามคำถามมากเกินไปอดีตคนก่อนก็พอเพียงสำหรับความต้องการในปัจจุบันของฉัน อย่างที่คุณเห็นฉันยังใหม่กับ nginx ดังนั้นเวอร์ชันการแก้ไขจะมีประโยชน์ ขอบคุณ UPDATE ตัวอย่างที่เกี่ยวข้องจากการกำหนดค่าปัจจุบันของฉัน: location / { proxy_pass http://preview; 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; # proxy_set_header X-Custom-Referrer $x_custom_referrer; }

2
คุณต้องใช้เครื่องหมายคำพูดในการกำหนดค่าเมื่อใด
ฉันเคยเห็นคนใช้คำพูดมากเกินไป : add_header 'Access-Control-Allow-Origin' '*'; ฉันเคยเห็นคนใช้คำพูดไม่ : add_header Access-Control-Allow-Origin *; ทั้งสองทำงานได้ดีเท่าที่ฉันรู้ดังนั้นคุณต้องใช้คำพูดเมื่อใด
24 nginx 

1
ฉันจะอนุญาตให้ nginx บันทึกโปรโตคอล SSL / TLS และ ciphersuite ที่ใช้แล้วได้อย่างไร
เป้าหมายของฉันคือการรับรองความปลอดภัยที่เหมาะสมสำหรับลูกค้าที่เชื่อมต่อกับ nginx ของฉัน ฉันปฏิบัติตามคำแนะนำของ Mozilla เพื่อกำหนดค่า TLS อย่างถูกต้องในการติดตั้ง nginx ของฉัน แต่ฉันไม่มีภาพรวมของโปรโตคอล / ciphersuites จริง ๆ ที่ใช้ในทางปฏิบัติ สิ่งที่ฉันมีตอนนี้: server { listen 443; ssl on; ssl_certificate /path/to/signed_cert_plus_intermediates; ssl_certificate_key /path/to/private_key; ssl_dhparam /path/to/dhparam.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'the_long_ciphersuite_listed_there'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:50m; } ด้วยสิ่งนี้ฉันต้องการบันทึกว่าใช้โปรโตคอล SSL ใดสำหรับการเชื่อมต่อและเลือก ciphersuite หลังจากไคลเอนต์ / เซิร์ฟเวอร์เจรจา เช่น: …
24 nginx  security  logging  tls  ssl 

3
การรับส่งข้อมูลภาษาจีนที่ผิดทิศทางลึกลับ: ฉันจะทราบได้อย่างไรว่าเซิร์ฟเวอร์ DNS ใดที่ใช้คำขอ HTTP
ในช่วงสัปดาห์ที่ผ่านมาฉันได้รับปริมาณข้อมูลจำนวนมากจากที่อยู่ IP จีนจำนวนมาก การรับส่งข้อมูลนี้ดูเหมือนว่ามาจากคนปกติและคำขอ HTTP ของพวกเขาระบุว่าพวกเขาคิดว่าฉัน: Facebook อ่าวโจรสลัด เครื่องมือติดตาม BitTorrent ต่างๆ เว็บไซต์ลามก ทุกอย่างดูเหมือนสิ่งที่ผู้คนจะใช้ VPN สำหรับ หรือสิ่งต่าง ๆ ที่จะทำให้กำแพงเมืองจีนโกรธ ตัวแทนผู้ใช้รวมถึงเว็บเบราว์เซอร์, Android, iOS, FBiOSSDK, Bittorrent ที่อยู่ IP เป็นผู้ให้บริการภาษาจีนเชิงพาณิชย์ทั่วไป ฉันมี Nginx ที่ส่งคืน 444 หากโฮสต์ไม่ถูกต้องหรือตัวแทนผู้ใช้ไม่ถูกต้อง: ## Deny illegal Host headers if ($host !~* ^({{ www_domain }})$ ) { return 444; } ## block bad …
24 nginx  vpn  china 

7
getpwnam (“ www”) ล้มเหลวใน /etc/nginx/nginx.conf
ฉันคัดลอกตัวอย่างnginx.confลงในกล่อง ubuntu 12.04 ของฉัน (ฉันไม่รู้ว่าจะใส่ไฟล์ conf อื่น ๆ ที่ไหนฉันเป็น nginx noob) เมื่อฉันพยายามเริ่ม nginx ฉันได้รับข้อผิดพลาดต่อไปนี้: abe-lens-laptop@abe:/etc$ sudo service nginx start Starting nginx: nginx: [emerg] getpwnam("www") failed in /etc/nginx/nginx.conf:1 nginx: configuration file /etc/nginx/nginx.conf test failed ข้อผิดพลาดนี้หมายความว่าอย่างไร ฉันจะแก้ไขได้อย่างไร ฉันพบโพสต์นี้ แต่ผู้ใช้ของฉันถูกตั้งค่าเป็น www www (ถ้าคุณเห็นในไฟล์ที่เชื่อมโยง) ฉันจะเปลี่ยนผู้ใช้ NGINX ได้อย่างไร?

2
การผสานตัวแปรกับสตริงในไฟล์กำหนดค่า
ฉันมีการตั้งค่าต่อไปนี้ในไฟล์ conf ของฉัน upload_set_form_field $upload_field_name.name "$upload_file_name"; แต่ฉันต้องการเปลี่ยนชื่อพารามิเตอร์ที่เลือกเป็น: upload_set_form_field ($upload_field_name+"[name]") "$upload_file_name"; ดังนั้นฉันสามารถได้รับ "สิ่งที่แนบมา [ชื่อ]" แต่มันไม่ทำงาน ฉันจะมีความสุขมากถ้ามีคนช่วยฉันด้วยการรวมตัวแปรกับสตริงในไฟล์ config nginx :)

1
นามแฝงของเซิร์ฟเวอร์บน NGINX
ฉันกำลังย้ายไซต์ไปยังเซิร์ฟเวอร์ใหม่ที่ทำงานบน NGINX Apache2 VirtualHost ของไซต์เก่ามีServerAliasการกำหนดค่าที่ฉันต้องการทำซ้ำในการกำหนดค่า NGINX จากสิ่งที่ฉันได้อ่านบน NGINX เอกสารserver_nameนี้ดูเหมือนว่าจะประสบความสำเร็จเพียงกับ ฉันแค่ต้องการให้แน่ใจว่าสิ่งที่ฉันมีนั้นถูกต้อง จาก APACHE2 ServerAlias our-domain.com www1.our-domain.com our-domain.ie ถึง NGINX server_name www.our-domain.com our-domain.com www.our-domain.ie our-domain.ie;


2
จำนวนกระบวนการของผู้ปฏิบัติงาน nginx
ฉันกำลังตั้งค่า nginx เพื่อให้บริการติดตั้ง Drupal และดูเหมือนว่าฉันพบข้อมูลที่ขัดแย้งกันในการตั้งค่ากระบวนการของผู้ปฏิบัติงาน nginx ไซต์หนึ่งบอกว่าคุณต้องการสองไซต์หนึ่งไซต์บอกว่าคุณต้องการห้าไซต์หนึ่งไซต์หนึ่งบอกว่าต่อโปรเซสเซอร์ ... ฉันควรเลือกจำนวนกระบวนการของผู้ปฏิบัติงาน nginx อย่างไร ถ้ามันสร้างความแตกต่างมันเป็นเกสต์วีไอพีบนคลัสเตอร์ VMWare และฉันได้ให้มันเป็นหนึ่งหน่วยประมวลผลเสมือน
23 web-server  nginx 

5
SSL & Ngnix: ไม่มี“ ssl_certificate” ถูกกำหนดในการฟังเซิร์ฟเวอร์บนพอร์ต SSL ในขณะที่จับมือ SSL
ฉันจัดการเพื่อสร้างใบรับรองด้วย LE โดยไม่มีข้อผิดพลาดฉันยังจัดการเปลี่ยนเส้นทางปริมาณการใช้งานของฉันจากพอร์ต 80 ไปยังพอร์ต 443 แต่เมื่อฉันรีโหลดเซิร์ฟเวอร์ nginx ของฉันฉันไม่สามารถเข้าถึงเว็บไซต์ของฉันได้ บันทึกข้อผิดพลาด Ngnix แสดงบรรทัดนี้: 4 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 192.168.0.104, server: 0.0.0.0:443 ฉันคิดว่านี่หมายความว่าไม่ได้หาใบรับรองที่ฉันไปแล้วไปที่เส้นทางของใบรับรองและทั้งคู่อยู่ที่นั่นสิ่งที่อาจเป็นปัญหา นี่คือลักษณะการกำหนดค่า Ngnix ของฉัน: server { listen 80; server_name pumaportal.com www.pumaportal.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; …

2
อัตรา nginx จำกัด ด้วยส่วนหัว X-Forwarded-For
ฉันกำลังมองหาในการ จำกัด อัตราการใช้ Nginx ของHttpLimitReqModule อย่างไรก็ตามคำขอทั้งหมดมาจาก IP เดียวกัน (loadbalancer) พร้อมกับที่อยู่ IP จริงในส่วนหัว มีวิธีการ จำกัด อัตรา nginx ตาม ip ในX-Forwarded-Forส่วนหัวแทนที่จะเป็น ip ของแหล่งที่มาหรือไม่?

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