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

nginx (ออกเสียงว่า“ engine x”) เป็นเว็บเซิร์ฟเวอร์ที่มีน้ำหนักเบาและพร็อกซีเซิร์ฟเวอร์ย้อนกลับ

1
วิธีใช้ nginx เป็น reverse proxy บนเราเตอร์ Ubiquiti
ฉันพยายามเซ็ตอัพ Ubiquiti ErPoe-5 (เฟิร์มแวร์ 1.9.1) ของฉันเพื่อเรียกใช้พร็อกซีย้อนกลับโดยใช้ nginx สองสามวันแล้วและดูเหมือนว่าปัญหาส่วนใหญ่ของฉันเกิดจากข้อเท็จจริงที่ว่าฉันไม่สามารถรับ เวอร์ชันล่าสุดของ nginx บนอุปกรณ์ บทเรียนที่ผมเคยเห็นสำหรับการติดตั้ง Nginx กับมันเพียง แต่ได้รับฉันเท่าที่ Nginx 1.2 ซึ่งไม่ได้มีการสนับสนุนสำหรับ WebSockets หรือ HTTP2 HTTP2 ไม่ใช่ข้อกำหนด แต่การสนับสนุน websockets เป็นสิ่งจำเป็นสำหรับทรัพยากรภายในที่ฉันต้องการเปิดเผยผ่าน reverse proxy ตามจริงแล้วเราท์เตอร์เองก็ใช้พวกเขาในส่วนต่อประสานการจัดการเว็บของตัวเองและมันก็ปรากฏขึ้นจากโพสต์นี้ในฟอรัม ubiquitiที่คุณอาจต้องใช้ HTTP2 ด้วยเช่นกัน

0
พอร์ตคอนเทนเนอร์ Nginx Docker ที่ส่งต่อไม่ทำงานบน OS X
ตกลงนี่คือการขับรถฉันบ้าถั่ว ฉันพยายามเรียกใช้เซิร์ฟเวอร์ Nginx ผ่าน Docker แต่ไม่สามารถเปิดพอร์ต 80 ได้อย่างถูกต้อง ในขณะที่ฉันใช้ boot2docker ในฐานะผู้ใช้ทั่วไปฉันไม่สามารถผูกพอร์ตที่ต่ำกว่า 1024 ได้ดังนั้นฉันจึงเพิ่มพอร์ตฟอร์เวิร์ดดิ้งสำหรับ 8080 เป็น: VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8080,tcp,,8080,,80" จากนั้นฉันเริ่ม boot2docker: boot2docker start และรันคำสั่งส่งออกที่บอกให้ฉัน: export DOCKER_TLS_VERIFY=1 export DOCKER_HOST=tcp://192.168.59.103:2376 export DOCKER_CERT_PATH=/Users/verhage/.boot2docker/certs/boot2docker-vm ฉันดึงภาพ nginx แล้ว: docker pull dockerfile/nginx จากนั้นฉันก็เปิดภาชนะ nginx ของฉัน docker run -d -p 8080:80 --name nginx dockerfile/nginx ทุกอย่างโอเคนุ่มดังนั้นฉันเปิดเบราว์เซอร์และไปที่ http://localhost:8080แต่ไม่มีอะไรเกิดขึ้น …


0
ผู้ปฏิบัติงาน nginx ปิดกั้น Thread ขณะรอ PHP หรือไม่
ดูเหมือนว่าเธรดของผู้ปฏิบัติงาน nginx สามารถจัดการการเชื่อมต่ออื่น ๆ ในขณะที่รอข้อมูลจากไคลเอ็นต์หรือในขณะที่บัฟเฟอร์เอาต์พุตเต็ม https://www.nginx.com/blog/inside-nginx-how-we-designed-for-performance-scale/ แต่พวกเขาจัดการการเชื่อมต่ออื่น ๆ ขณะที่รอ PHP เพื่อสร้างผลลัพธ์ มีเอกสารอื่นเพิ่มเติมอีกหรือไม่ว่า nginx ทำงานภายในอย่างไร
nginx 

1
NGINX: เขียนเส้นทาง (ตัวแปร) เฉพาะใหม่เท่านั้น
ฉันต้องการเขียน url ที่มีตัวแปรพา ธ เฉพาะสำหรับ IP ของผู้ใช้หนึ่งรายเท่านั้น http://domain.com/variable ควรเป็น: http://domain.com/variable/system อย่างไรก็ตามหากมีเส้นทางอื่นที่ตามหลังเส้นทาง / ตัวแปรมันควรจะไม่เปลี่ยนแปลง ดังนั้น URL ต่อไปนี้จึงควรคงเดิม: http:/domain.com/variable/something-else ฉันลองใช้รหัสต่อไปนี้แล้ว if ($http_x_forwarded_for = xxx.xxx.x.xx) { rewrite ^/(.*)$ http://domain.com/$1/system redirect; } อย่างไรก็ตามเมื่อใช้รหัสนี้ดูเหมือนว่าจะได้รับการวนรอบผล http://domain.com/variable/system/system/system/system .... ฉันเข้าใจว่ามีอะไรผิดพลาด แต่ฉันไม่รู้ว่าฉันจะแก้ไขได้อย่างง่ายดาย ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.
nginx  url  rewrite 

0
ปัญหาการกำหนดค่า Nginx Varnish
ฉันพยายามติดตั้งวานิชด้วย ssl จากลิงค์นี้: https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/ ฉันทำทุกอย่างเหมือนโพสต์ แต่ตอนนี้ฉันได้รับข้อผิดพลาด "ไม่สามารถเข้าถึงไซต์นี้ได้ตัวอย่าง example.com ปฏิเสธที่จะเชื่อมต่อ" ฉันเพิ่งหายไปเล็กน้อยสิ่งที่ฉันแน่ใจ แต่ฉันไม่รู้ว่าอยู่ที่ไหน ที่นี่ / etc / nginx / sites-available / default: server { listen 443 ssl; listen [::]:443 ssl; server_name example.com www.example.com; port_in_redirect off; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:20m; ssl_session_timeout …

0
วิธีการใส่แอปตอบสนองต่อการผลิตด้วย nginx และแบ็กเอนด์
ฉันได้สร้างเว็บไซต์ที่ใช้ส่วนหน้ากับการตอบสนองและโหนดแบ็กเอนด์ในการเข้าถึงฐานข้อมูล อย่างไรก็ตามฉันกำลังดิ้นรนเพื่อออกจากโหมดการพัฒนา ฉันกำลังใช้คุณสมบัติการตอบสนองของพร็อกซีเพื่อขอพร็อกซีจากส่วนหน้าไปยังส่วนท้ายและรับข่าวสารจากฐานข้อมูล แต่นี่จะมีเฉพาะในโหมดการพัฒนาเท่านั้น ฉันจะเข้าสู่การผลิตด้วยสถาปัตยกรรมนี้ได้อย่างไรและฉันจะตั้งค่า nginx ให้บริการด้านหน้าของฉันและทำให้เข้าถึงแบ็กเอนด์ของฉันได้อย่างไร
nginx 

0
Nginx reverse proxy ไปยังที่อยู่ ip ที่มีชื่อโดเมนเดียวกัน
สมมติว่าฉันมีเซิร์ฟเวอร์ DEV, TEST, QA และ PRODUCTION สำหรับ 'custom.domain.com' ในที่สาธารณะเซิร์ฟเวอร์ DNS อาจมี CNAME (หรือ A Record) ไปยังเซิร์ฟเวอร์ PRODUCTION ในกล่องภายในเครื่องของฉันฉันต้องการรันการทดสอบ E2E ด้วย Nginx reverse proxy ซึ่งช่วยให้เราสามารถเข้าถึง DEV (หรือ Test, QA) ใน 'custom.domain.com' (ฉันไม่ต้องการเปลี่ยนไฟล์โฮสต์) ระบุว่าที่อยู่ IP ของเซิร์ฟเวอร์ TEST คือ 10.0.29.1 การกำหนดค่า Nginx ที่ถูกต้องจะเป็นอย่างไร

1
ฉันจะบังคับให้ผู้ใช้แต่ละรายใช้หมายเลขพอร์ตเฉพาะหนึ่งหมายเลขใน Node.js ได้อย่างไร
ดังนั้นฉันจึงตั้งค่า NGINX เพื่อให้บริการเว็บไซต์คงที่ต่อผู้ใช้ใน GNU / Linux Debian 8 โดยใช้หลักการตั้งชื่อต่อไปนี้: http://domain/~username. เว็บโฟลเดอร์สาธารณะของผู้ใช้แต่ละคนจะอยู่ในโฮมไดเร็กตอรี่นั้น ๆ และนั่นก็เป็นที่ที่พวกเขาคาดหวังให้โครงการ Node.js ของพวกเขา ปัญหา ทั้งหมดนี้เป็นสิ่งที่ดีและดีอย่างไรฉันจะป้องกันผู้ใช้ที่แตกต่างจากการเริ่มต้นโครงการที่ใช้ หมายเลขพอร์ตชนกัน ในโดเมนเดียวกันหรือไม่ หรือมากกว่าโดยสังเขป ฉันจะบังคับให้ผู้ใช้แต่ละรายใช้หมายเลขพอร์ตเฉพาะหนึ่งหมายเลขใน Node.js ได้อย่างไร หรือฉันจำเป็นต้องมีแม้แต่? อินสแตนซ์ของ Node.js ของผู้ใช้สามารถถูกจับได้อย่างใดอย่างหนึ่งและจากนั้นแปลเป็นสิ่งที่ปฏิบัติตามอนุสัญญาการตั้งชื่อข้างต้น? ถ้าเป็นเช่นนั้นได้อย่างไร ตัวอย่าง: หากผู้ใช้ JSmith สร้างเว็บไซต์โดยใช้ Node.js และเรียกใช้เว็บไซต์ควรเผยแพร่ให้ www.example.com/~jsmith ไม่ว่าการตั้งค่าโดเมนหรือพอร์ตอื่นใดที่ JSmith ใช้ในแอปพลิเคชัน Node.js ของเขา

0
ใช้ขีด จำกัด อัตรา Nginx และรักษาสตริงข้อความค้นหาให้ครบถ้วน
ฉันกำลังพยายามตั้งค่าอัตรา Nginx ที่ จำกัด ใน url สำหรับเส้นทาง api อย่างไรก็ตามสตริงแบบสอบถามที่เกี่ยวข้องกับมันจะถูกลบโดยการ จำกัด อัตรา การ จำกัด อัตราการทำงานเป็นเพียงแค่ว่าสตริงแบบสอบถามจะถูกลบออกและเราต้องการข้อมูลสตริงแบบสอบถามที่จะผ่าน URL ที่ฉันพยายาม จำกัด อัตรามีลักษณะดังนี้: http://example.com / api / 2? param1 = true & param2 = false แต่เมื่อผ่านการ จำกัด อัตราการกำหนดค่าบน nginx url จะมีลักษณะดังนี้: http://example.com/api/2 และเราจะสูญเสียข้อมูลไปในที่สุด การกำหนดค่า nginx อยู่ในขณะนี้: location ~ /api/2$ { limit_req zone=zone1; } มีเหตุผลใดที่การ จำกัด …

1
เว็บไซต์ nginx ด้านหลังเราเตอร์เชื่อมต่อตกลงกับ myserver.local แต่ขอชื่อผู้ใช้และรหัสผ่านเมื่อเข้าถึงผ่านทาง myserver.mydomain.com
เว็บไซต์ nginx ด้านหลังเราเตอร์เชื่อมต่อตกลงกับ myserver.local แต่ขอชื่อผู้ใช้และรหัสผ่านเมื่อเข้าถึงผ่านทาง myserver.mydomain.com ของฉัน ทั้งหมดที่ฉันต้องการคือการเปิดเผยหนึ่งในเว็บไซต์ทดสอบ Node.js ของฉันกับผู้ใช้ภายนอกบางคนและมันขอชื่อผู้ใช้และรหัสผ่าน ฉันจะทำสิ่งนี้ได้อย่างไร การกำหนดค่าของฉันประกอบด้วย nginx apt-get (ed) และไฟล์ .conf เว็บไซต์ของฉันใน /etc/nginx/conf.d/website.conf server { listen 80; server_name myserver.local; access_log /var/log/nginx/myserver.local.access.log combined; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

0
ฉันมีข้อผิดพลาดเมื่ออัพเกรดเป็น https ใน nginx1.8
นี่คือการกำหนดค่า nginx ของฉันเกี่ยวกับ ssl ssl on; ssl_certificate 1_www.***.top_bundle; ssl_certificate_key 2_www.***.top.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ** นี่เกี่ยวกับเส้นทางใบรับรองของฉัน ** /usr/local/nginx/conf และฉันใช้ chmod -R 777 สำหรับโฟลเดอร์ของฉันแล้ว นี่เป็นข้อผิดพลาดเมื่อฉันเรียกใช้ nginx -s reload nginx: [emerg] BIO_new_file("/usr/local/nginx/conf/1_www.****.top_bundle") ล้มเหลว (SSL: ข้อผิดพลาด: 02001002: ไลบรารีระบบ: fopen: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว: fopen ('/ usr / local / nginx …
https  nginx 

1
reverse proxy ตามส่วนหัว http ใน Nginx ส่งคืน 502 Bad Gateway
สถานการณ์ ฉันมีโดเมนย่อย DDNS sub1.dom1.comกับ IP แบบคงที่ของ (ตัวละคร 99.88.77.66.55IP) ฉันมีโดเมนdom2.comโฮสต์ปิดเว็บไซต์ที่มีการชี้รายการ DNS CNAME sub2.dom2.comและsub3.dom2.comไป IP เดียวกัน 99.88.77.66.55(อีกครั้งตัวละคร), ที่99.88.77.66.55ฉันมี LAN นั่งอยู่หลังไฟร์วอลล์ของฉัน บน LAN นี้ฉันมีสามเซิร์ฟเวอร์: เว็บเซิร์ฟเวอร์ที่มี FQDN www.local.lanในตัวที่192.168.1.3:80 แอปพลิเคชันเซิร์ฟเวอร์ที่มี FDQN app.local.lanในตัวเครื่องที่192.168.1.4:8069 ไฟล์เซิร์ฟเวอร์ที่มี FQDN fs.local.lanในตัวที่ at192.168.1.5:2430 ดูแผนภาพด้านล่างสำหรับการชี้แจง เซิร์ฟเวอร์ทั้งสามกำลังทำงานเป็นเซิร์ฟเวอร์เสมือนภายในคุกบนระบบ freeBSD (freeNAS) เดียวกัน สิ่งที่ฉันอยากทำ ตามแผนภาพด้านบนฉันต้องการเพิ่มพร็อกซีเซิร์ฟเวอร์ย้อนกลับเพื่อให้ทำงานภายในคุกบนระบบที่กล่าวถึงข้างต้น การร้องขอจาก WAN จะต้องถูกนำไปยังเซิร์ฟเวอร์ที่เหมาะสมตามชื่อของโฮสต์ที่ให้ไว้ในส่วนหัว HTTP การพิจารณา Standard Port Fordwarding:ขณะนี้ฉันเข้าถึงเซิร์ฟเวอร์เหล่านี้ผ่านการส่งต่อพอร์ตอย่างง่าย ๆ บนเราเตอร์ LAN โดยปกติจะเป็นวิธีการแก้ปัญหาที่ยอมรับได้ …

1
ตั้งค่า (VirtualBox + CentOS) ด้วย (nginx + PHP + MySql) บน MacOS
ฉันกำลังพยายามตั้งค่า (Virtual Box + CentOS) ด้วย (nginx + PHP + MySql) บน MacOS ในอนาคตฉันสามารถเข้ารหัสบน MacOS แล้วโยนไฟล์ลงในโฟลเดอร์แชร์ด้วย (Virtual Box + CentOS) และดำเนินการต่อ (nginx + PHP + MySql) แต่ฉันมีปัญหาฉันสามารถทำให้เบราว์เซอร์บน MacOS อ่านทิศทางไฟล์ฉันพบคำหลักเช่นการส่งต่อพอร์ต แต่ก็ยังไม่ทำงาน ฉันทำตามขั้นตอนด้านล่างเพื่อติดตั้ง ติดตั้ง CentOS และตั้งค่าคอนฟิก 1. ติดตั้ง CentOS ขั้นต่ำรุ่นที่ 2 หลังจากติดตั้ง CentOS แล้วifconfig eth0 dhclient eth0 ifconfig eth0 3. แก้ไขไฟล์ vi …

0
ปัญหาการกำหนดค่าการตั้งค่าสภาพแวดล้อมของเว็บเซิร์ฟเวอร์บน Raspberry ด้วย NGINX, PHP7, JOOMLA
ฉันประสบปัญหาในการตั้งค่าสภาพแวดล้อมของเว็บเซิร์ฟเวอร์บน Raspberry Pi Stretch โดยใช้ NGINX, PHP7 และ JOOMLA ทุกอย่างถูกติดตั้งอย่างราบรื่นและทำงานได้ดี ตรวจสอบ PHP ด้วยไฟล์ทดสอบทำงานได้ดี เมื่อฉันเรียกเว็บไซต์จากเครือข่ายภายในเช่น 192.168.23.17/mydomain ทำงานได้ดีให้รับหน้า Landing Page มาตรฐานของ JOOMLA การเรียกเว็บไซต์จากภายนอกเช่นhttp://mydomain.deฉันได้รับข้อความแสดงข้อผิดพลาด 403 ต้องห้าม (ภายใต้ windows explorer พร้อมคำขอที่สอง index.php เป็นข้อความธรรมดา) ฉันคิดว่ามันเป็นปัญหาการอนุญาตที่เรียบง่าย แต่หลังจากการค้นหา 3 ชั่วโมงฉันไม่รู้ว่าจะไปหาที่ไหน ไดเรกทอรีทั้งหมดที่มีข้อมูล JOOMLA นั้นเป็นของผู้ใช้ www ของฉัน NGINX และ PHP-FPM ทำงานเป็นผู้ใช้ www MariaDB ทำงานในฐานะผู้ใช้ mysql การกำหนดค่าเซิร์ฟเวอร์เสมือนปัจจุบันตั้งค่าเป็น HTTP ฉันจะตั้งค่า HTTPS …

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