คำถามติดแท็ก reverse-proxy

ในเครือข่ายคอมพิวเตอร์พร็อกซีย้อนกลับเป็นพร็อกซีเซิร์ฟเวอร์ชนิดหนึ่งที่ดึงทรัพยากรในนามของไคลเอ็นต์จากเซิร์ฟเวอร์ตั้งแต่หนึ่งเซิร์ฟเวอร์ขึ้นไป จากนั้นรีซอร์สเหล่านี้จะถูกส่งกลับไปยังไคลเอนต์ผ่านพร็อกซีย้อนกลับราวกับว่ามาจากเซิร์ฟเวอร์เอง

3
Apache reverse proxy: ไม่มีตัวจัดการโปรโตคอล
ฉันกำลังพยายามกำหนดค่าพร็อกซีย้อนกลับด้วย apache แต่ฉันได้รับNo protocol handler was valid for the URLข้อผิดพลาดซึ่งฉันไม่เข้าใจ นี่คือการกำหนดค่าที่เกี่ยวข้องของ Apache: ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /gonvaled/examples/jsonrpc/output/services/ http://localhost:8000/services/ ProxyPassReverse /gonvaled/examples/jsonrpc/output/services/ http://localhost:8000/services/ การร้องขอถึง apache เป็น: POST /gonvaled/examples/jsonrpc/output/services/EchoService.py HTTP/1.1 และควรส่งต่อไปยังบริการภายในของฉันที่: 0.0.0.0:8000/services/EchoService.py นี่คือบันทึก: ==> /var/log/apache2/error.log <== [Wed Jun 20 02:05:20 2012] [debug] proxy_util.c(1506): [client …

1
วิธีการทำให้ nginx เขียน URIs ในเนื้อหาของ HTTP อีกครั้ง?
นี่เป็นคำถามที่ตามมาของฉันเกี่ยวกับวิธีการสร้าง nginx reverse proxy 302 เปลี่ยนเส้นทางไปยังโฟลเดอร์ย่อย URI แทนที่จะเป็นรูท ฉันมีพร็อกซีเซิร์ฟเวอร์ Nginx ที่ใช้rewriteและproxy_passสั่งการร้องขอภายนอกพร็อกซี่ไปยัง URL เช่นhttps://domain.com/my/web/app/ไปยังเซิร์ฟเวอร์ LAN https://10.0.0.22/ภายในที่ นี่คือความพยายามของฉันที่จะเป็นตัวแทนของการแปลใน ASCII UML: .-------------. .------------------. | Nginx proxy | | Local web server | | (domain.com) | | (10.0.0.22) | '-------------' '------------------' | | | | GET https://domain.com/my/web/app/ ----------->| | |---------------->| GET / | | …

2
วิธีทำให้เว็บเซิร์ฟเวอร์ในพื้นที่สามารถมองเห็นได้จากอินเทอร์เน็ต * โดยไม่ต้องตั้งค่าการส่งต่อพอร์ตบนเราเตอร์
ฉันพัฒนาเว็บไซต์บนแล็ปท็อป (ระดับไฮเอนด์) ของฉันและฉันทำงานจากที่ตั้งทางกายภาพที่หลากหลาย ฉันต้องการที่จะบันทึกความยุ่งยากของการอย่างต่อเนื่องสอดคล้องกับเว็บเซิร์ฟเวอร์ที่มองเห็นได้จากภายนอกในการสั่งซื้อสำหรับลูกค้าที่จะมีความคืบหน้าการทดสอบของเว็บไซต์ (หรือเพื่อวัตถุประสงค์ที่เกี่ยวข้อง) .Therefore ผมกำลังพยายามที่จะหาวิธีที่จะช่วยให้ฉันมีแล็ปท็อปที่จะเป็นโดยอัตโนมัติสาธารณชน มองเห็นได้จากอินเทอร์เน็ตจากตำแหน่งใด ๆ แม้ว่าฉันจะไม่สามารถเข้าถึงเราเตอร์เพื่อตั้งค่าการส่งต่อพอร์ต (เช่นจากร้านกาแฟหรือจากการเชื่อมต่อไร้สายสาธารณะอื่น ๆ ) ฉันได้ใช้ DynDNS แล้วในการเลือกชื่อโดเมนของฉันไปยังเซิร์ฟเวอร์บนเดสก์ท็อปผ่านเราเตอร์ที่ฉันได้ตั้งค่า ... แต่อย่างที่ฉันบอกว่าฉันอยากจะทิ้งขั้นตอนการใช้เซิร์ฟเวอร์เดสก์ท็อปนี้ ฉันหวังว่าบริการ reverse-proxy ที่จ่าย (การเรียกเก็บค่าธรรมเนียมรายเดือนสำหรับบัญชี) จะจัดหาซอฟต์แวร์ "reverse proxy" สำหรับลูกค้าระดับซ็อกเก็ต / เซิร์ฟเวอร์ที่สามารถใช้เพื่อจุดประสงค์นี้ได้ ฉันหาไม่เจอ ฉันใช้ TeamViewer และ LogMeIn อยู่แล้วซึ่งให้บริการที่คล้ายคลึงกัน ในความเป็นจริงฉันพยายามใช้ LogMeIn Hamachi VPN เพื่อทำให้สิ่งนี้เป็นไปได้โดยทำให้เดสก์ท็อปของฉัน(ปรากฏบนอินเทอร์เน็ตแล้ว) ส่งต่อการรับส่งข้อมูล IP ที่ร้องขอพอร์ต 80 พร้อมผ่าน VPN ไปยังแล็ปท็อปของฉัน อย่างไรก็ตามดูเหมือนจะเป็นไปไม่ได้ที่จะตั้งค่า Hamachi / Windows …

0
ไม่สามารถรับ nginx เป็นพร็อกซีเซิร์ฟเวอร์ได้
ฉันกำลังพยายามตั้งค่าโฮมเซิร์ฟเวอร์ของฉันเพื่อส่งคำขอชื่อโดเมนบางอย่างไปยังคอมพิวเตอร์เครื่องอื่นบนเครือข่ายภายในบ้านของฉัน (ฉันมีที่อยู่ IP เพียงแห่งเดียว) ฉันใช้ Nginx เพื่อทำสิ่งนี้ แต่ฉันไม่มีโชคกับ มัน. ฉันมีคอมพิวเตอร์ที่ใช้ Nginx ซึ่งสามารถดูได้ทางอินเทอร์เน็ต มันใช้งานได้ดี ฉันมีราสเบอร์รี่ pi ใช้ Nginx และทำงานได้ดีเมื่อฉันขอโดยตรง สิ่งที่ฉันมีบนเซิร์ฟเวอร์ที่หันหน้าไปทางเซิร์ฟเวอร์คือ: server { listen 85; server_name some.domainname.com; location / { proxy_pass http://192.168.1.32; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } อย่างไรก็ตามเมื่อฉันเยี่ยมชม some.domainname.com:85 จากนอกเครือข่ายในบ้านของฉัน (หรือแม้กระทั่งภายในเครือข่ายภายในบ้านของฉันที่ชี้ไปที่เว็บเซิร์ฟเวอร์) ฉันเพิ่งได้รับข้อผิดพลาดการปฏิเสธการเข้าถึงเครือข่าย …

1
วิธีการแก้ไขข้อผิดพลาด directive ที่ไม่รู้จักใน nginx?
ขณะนี้ฉันได้รับข้อผิดพลาดต่อไปนี้กับ nginx: $ sudo nginx -t nginx: [emerg] unknown directive "sd#" in /etc/nginx/sites-enabled/default.save:27 nginx: configuration file /etc/nginx/nginx.conf test failed ดังนั้นพร็อกซีย้อนกลับของฉันจึงไม่ทำงานอีกต่อไป ทุกคนมีความคิดที่ทำให้เกิดสิ่งนี้และฉันจะแก้ไขได้อย่างไร : ในช่วงเวลาที่พร็อกซีย้อนกลับของฉันยังคงทำงานอยู่ แต่หลังจากรีบูตเซิร์ฟเวอร์พวกเขาทั้งหมดหยุดทำงาน (ซึ่งสมเหตุสมผล) ความช่วยเหลือใด ๆ จะดีมากขอบคุณ!

0
Nginx เป็น reverse proxy ที่มี upstream SSL และ ciphers อ่อน
ฉันต้องเข้าถึงเว็บเซิร์ฟเวอร์ที่ล้าสมัยด้วยการตั้งค่าความปลอดภัยที่ล้าสมัย เซิร์ฟเวอร์รองรับ SSL 3 และ TLS 1 และชุดรหัสต่อไปนี้: TLS_DHE_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_RC4_128_MD5 TLS_RSA_EXPORT1024_WITH_RC4_56_SHA TLS_RSA_EXPORT1024_WITH_RC4_56_MD5 TLS_RSA_EXPORT_WITH_RC4_40_MD5 ฉันมีประสบการณ์ที่ดีในการใช้ Nginx เป็น reverse proxy เพื่อเชื่อมต่อกับบริการและเซิร์ฟเวอร์ต่าง ๆ ดังนั้นฉันก็ลองที่นี่เช่นกัน นี่คือการกำหนดค่าของฉัน: server { listen 443 ssl; server_name localhost; ssl_certificate /etc/ssl/certs/self-signed.crt; ssl_certificate_key /etc/ssl/private/self-signed.key; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-ForwardedFor $proxy_add_x_forwarded_for; proxy_pass …

0
การใช้ Apache เป็น reverse proxy สำหรับ gitlab omnibus
ฉันใช้ GitLab Omnibus บนเซิร์ฟเวอร์ CentOS6.5 เซิร์ฟเวอร์ gitlab Nginx ฟังบนพอร์ต 6543 (Apache ใช้ 80 และ 443 แล้ว) ฉันต้องการใช้ Apache เป็น reverse proxy เพื่อเข้าถึง GitLab ด้วยที่อยู่นั้น: gitlab.example.comแทนที่จะเป็นexample.com:6543 ดังนั้นฉันจึงเพิ่ม Apache Virtual Host นี่คือการกำหนดค่า: <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin admin@example.com ServerName gitlab.example.com ServerSignature Off CustomLog /var/log/httpd/gitlab_access.log combined ErrorLog /var/log/httpd/gitlab_error.log ErrorLog syslog:local2 <IfModule mod_proxy.c> ProxyVia …

0
การกำหนดค่า Reverse SSL เป็น SSL Proxy (ควรใช้ Squid หรือ Apache)
ฉันพยายามพร็อกซีย้อนกลับและเปิดใช้งานในช่วงสองสามชั่วโมงที่ผ่านมาสำหรับแอปพลิเคชันที่ตอนนี้ต้องสามารถเข้าถึงได้แบบสาธารณะ สำหรับปัญหาด้านความปลอดภัยและผู้ให้บริการ - บล็อก - พอร์ต -80 แอปพลิเคชันสามารถเข้าถึงได้โดย https เท่านั้น ฉันรู้ว่าสิ่งนี้สามารถทำได้ด้วย apache หรือ squid (ในหมู่อื่น ๆ ) ฉันลองทั้งสองอย่างแล้วและล้มเหลว เครือข่ายปัจจุบันมีการตั้งค่าดังนี้: gateway.mydomain.com เป็นเกตเวย์ บนเกตเวย์ apache ได้รับการกำหนดค่าไว้แล้วด้วย ssl vhost ที่เป็นค่าเริ่มต้นและ squid จะทำงานเป็นพร็อกซีการส่งต่อปกติ แอปพลิเคชันบนเครือข่ายท้องถิ่นhttps://application.mydomain.comมีการตั้งค่าและเข้าถึงได้ตามที่คาดหวังในเครื่อง นี่คือการกำหนดค่าที่ฉันพยายามปลาหมึกที่ด้านบนของปลาหมึก conf ฉันได้เพิ่มคำสั่งรวมถึง/etc/squid/application.conf: application.conf: https_port 443 cert=/etc/pki/tls/certs/localhost.crt key=/etc/pki/tls/private/localhost.key defaultsite=application.mydomain.com vhost # HTTPS peer cache_peer https://application.mydomain.com parent 443 0 no-query originserver …

2
Apache ProxyPass ตามชื่อโฮสต์แบบไดนามิก
ฉันพยายามกำหนดค่า Apache เป็นพร็อกซีไปยังเซิร์ฟเวอร์ภายในโดยยึดตามชื่อโฮสต์แบบไดนามิกและใช้พอร์ตอื่น ดูเหมือนจะซับซ้อนเกินไปสำหรับฉันเล็กน้อย นี่คือสิ่งที่ฉันมี: <Location /awesomewebapp> ProxyPass http://[internalservername]:8080/awesomewebapp ProxyPassReverse http://[internalservername]:8080/awesomewebapp </Location> แต่นี่เป็น (เห็นได้ชัด) ไม่ใช่แบบไดนามิก ฉันทำงานเกี่ยวกับการเขียนกฎเป็นต้น แต่ฉันไม่สามารถทำงานได้ สิ่งที่ฉันต้องการจริงๆคืออะไร: ^/[internalservername]/awesomewebapp proxy internally to http://[internalservername]:8080/awesomewebapp ขอบคุณล่วงหน้า

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 ด้วยเช่นกัน

1
การตั้งค่าพร็อกซีย้อนกลับโดยไม่เปิดพอร์ตขาเข้า (เฉพาะพอร์ตขาออก) บนไฟร์วอลล์
ฉันได้รับคำขอที่ผิดปกติซึ่งฉันไม่แน่ใจว่ามีวิธีแก้ปัญหาหรือไม่ ลูกค้าของฉันต้องการโฮสต์เว็บแอปพลิเคชันบนเครื่อง A และเข้าถึงได้โดยไปที่ URL ของเครื่องที่สาธารณชนสามารถเข้าถึงได้เท่านั้น ตามปกติแล้วพร็อกซีย้อนกลับควรจะพอเพียง แต่มีความยุ่งยากเพิ่มอีกหนึ่งอย่างที่ไม่จำเป็นคือไคลเอนต์ของฉันไม่ต้องการเปิดพอร์ตของเว็บแอปพลิเคชั่นบนไฟร์วอลล์ของเครื่อง A แต่มันก็ใช้ได้กับ Machine A ที่เชื่อมต่อกับ Machine P หาก Machine A กำลังทำการเชื่อมต่ออยู่ ขาออก สัมพันธ์ มีซอฟต์แวร์ใดที่มีอยู่ที่ฉันสามารถใช้เพื่อตั้งค่า reverse proxy ในลักษณะที่ Machine A เริ่มต้นการเชื่อมต่อ - การเชื่อมต่อกับพอร์ตที่ผูกไว้กับ Machine P - หลังจากที่ Machine P สามารถย้อนกลับการร้องขอเว็บขาเข้าของ หรือไม่ A ทั้งสองเครื่องใช้งาน CentOS (6 หรือ 7) และฉันสามารถควบคุมการติดตั้งซอฟต์แวร์ใด ๆ ข้อ จำกัด เพียงอย่างเดียวคือฉันไม่สามารถเปิดพอร์ตใด ๆ …

1
วิธีใช้ reverse proxy (ให้บริการโดยผู้อื่น) บนพีซี
การแลกเปลี่ยนแบบสแต็กใช้บางสคริปต์จาก ajax.googleapis.com อย่างไรก็ตามโดเมนนั้นถูกบล็อกโดย China Communist Party ดังนั้นทุกครั้งที่ฉันเยี่ยมชมเว็บไซต์จะมีแบนเนอร์สีแดงแสดงว่า "Super User ต้องการ JavaScript ภายนอกจากโดเมนอื่นซึ่งถูกบล็อกหรือโหลดไม่สำเร็จ" โชคดีที่ฉันพบเว็บไซต์ภาษาจีนที่เสนอมิเรอร์ไปยังที่เก็บข้อมูลที่มีชื่อเสียงจำนวนมาก reverse proxy สำหรับ ajax.googleapis.com ไซต์นั้นไม่มีเอกสารสำหรับพร็อกซีย้อนกลับและพวกเขาให้โดเมนและบอกฉันว่ามันเป็น RP ที่เปิดเผยต่อสาธารณชน พร็อกซีย้อนกลับนั้นมีจุดประสงค์เพื่อนักพัฒนาไซต์ดังนั้นนักพัฒนาจึงสามารถเปลี่ยน ajax.googleapis.com ทั้งหมดเป็น ajax.proxy.example.com ในหน้าเว็บของเขา ฉันต้องการกำหนดค่าพีซี Windows ของฉันและระบบ Linux เพื่อใช้ RP นั้นเมื่อใดก็ตามที่มีการร้องขอ Google Ajax ฉันไปรอบ ๆ โดยไม่พบสิ่งใดเกี่ยวกับการใช้บนพีซี (ใช้ RP จากฝั่งไคลเอ็นต์) หรือเปลี่ยนแปลงทั้งหมด ajax.googleapis.com ไปยัง ajax.proxy.example.com. ฉันจะทำสิ่งนั้นได้อย่างไร สำหรับรายละเอียดโปรดสมมติว่าไซต์ให้ฉัน ajax.googleapis.com → ajax.proxy.example.com และ …

1
หยุดการแชร์ localStorage ระหว่างเซิร์ฟเวอร์ที่อยู่ด้านหลังพร็อกซีย้อนกลับ
พิจารณาเซิร์ฟเวอร์แบ็กเอนด์สองแห่ง: https://server1.example.com https://server2.example.com เมื่อเข้าถึงเซิร์ฟเวอร์เหล่านี้โดยตรงเซิร์ฟเวอร์จะมีความเป็นอิสระ localStorage วัตถุตั้งแต่ต้นกำเนิดของพวกเขาแตกต่างกัน ในกรณีนี้ชื่อโฮสต์ต่างกัน เมื่อฉันวางเซิร์ฟเวอร์เหล่านี้ไว้ข้างหลังพร็อกซีย้อนกลับจะถูกเข้าถึงดังต่อไปนี้: https://proxy.example.com/server1 https://proxy.example.com/server2 เพื่อให้ภาพซับซ้อนขึ้นเล็กน้อยฉันมีหน้าส่วนหน้าบน proxy: https://proxy.example.com หน้านี้แสดงรายการเซิร์ฟเวอร์เป็นฮอตลิงค์โดยใช้ HTML คล้ายกับ: <a href="https://proxy.example.com/server1/" target="_blank">Server1</a> <a href="https://proxy.example.com/server2/" target="_blank">Server2</a> ตอนนี้แต่ละเซิร์ฟเวอร์ proxy, server1 และ server2 ทั้งหมดผ่านไป same-origin ทดสอบเนื่องจากพวกเขาแต่ละคนมี origin=https://proxy.example.com:443. ดังนั้น localStorage วัตถุถูกแชร์ในหมู่พวกเขาและการแบ่งปันนี้ทำให้แอปพลิเคชันสับสน server1 และ server2. มีวิธีปิดการแชร์หรือไม่ localStorage ระหว่าง proxy, server1และ server2 ในการกำหนดค่านี้หรือไม่? หากไม่มีมีวิธีการใน Javascript ที่จะปิดการใช้งานการแชร์ระหว่างเอนทิตีเหล่านี้หรือไม่

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
จะทราบได้อย่างไรว่าเซิร์ฟเวอร์ทำหน้าที่เป็น reverse proxy หรือไม่?
เท่าที่ฉันรู้ บริษัท เว็บโฮสติ้งบางแห่งใช้พร็อกซีย้อนกลับเป็นตัวกำหนดประเภทของ load balancer ดังนั้นคำขอ HTTP ทั้งหมดจึงไปยังเซิร์ฟเวอร์ทางกายภาพหนึ่งแห่ง แต่ด้านหลังนี้มีเว็บเซิร์ฟเวอร์อื่นอยู่หลายแห่ง ตัวอย่างเช่นหากคุณเยี่ยมชมhttp://www.yougetsignal.com/tools/web-sites-on-web-server/และพิมพ์ใน IP 213.239.234.111 คุณจะเห็นว่าเครื่องนี้โฮสต์มากกว่า 700 โดเมน ตอนนี้คำถามของฉันคือ: มีความเป็นไปได้ไหมหากเซิร์ฟเวอร์ทำหน้าที่เป็นพร็อกซีย้อนกลับหรือผ่านทางส่วนหัว HTTP หรือวิธีการพิมพ์ลายนิ้วมืออื่น ๆ

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