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

โมดูลสำหรับเว็บเซิร์ฟเวอร์ apache ที่สามารถใช้ apache เป็นพร็อกซีเซิร์ฟเวอร์ได้ ด้วยโมดูลนี้ apache สามารถทำหน้าที่เป็นพร็อกซีปกติหรือเป็นพร็อกซีย้อนกลับสำหรับเซิร์ฟเวอร์ต้นน้ำ

3
วิธียกเว้น URL สำหรับ Apache Mod_proxy
เรามีเซิร์ฟเวอร์ Apache สองตัวเป็น front-end และ 4 tomcat เซิร์ฟเวอร์เป็น back-end ที่กำหนดค่าโดยใช้โมดูล mod_proxy เป็น load balancer ตอนนี้เราต้องการแยก urcat Tomcat หนึ่งตัวออกจากตัวปรับสมดุลโหลดโหลด mod_proxy มีวิธีหรือกฎที่จะยกเว้นหรือไม่ การตั้งค่า Proxy Balancer: <Proxy balancer://backend-cluster1> BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10 BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10 </Proxy>

8
Apache2 Proxy หมดเวลา
ฉันมี Apache2 พร้อม PHP + PHP-FPM ที่กำหนดค่าตาม: http://wiki.apache.org/httpd/PHP-FPM ฉันกำลังเขียนสคริปต์ที่จะต้องใช้เวลานานในการรันบน Vhost ภายใน แต่หมดเวลาหมดทุกอย่างจะทำงานได้อย่างไม่มีที่ติหากสคริปต์ทำงานภายใน 30 วินาที บันทึก apache ของฉันบอกฉัน: [Wed Apr 17 21:57:23.075175 2013] [proxy_fcgi:error] [pid 9263:tid 140530454267648] (70007)The timeout specified has expired: [client 58.169.202.172:49017] AH01075: Error dispatching request to :, referer: เมื่อพยายามเรียกใช้สคริปต์ฉันจะได้รับ503 Service Unavailableหลังจากระยะเวลาดำเนินการ 30 วินาที เหตุผลนี้หมายความว่าฉันมีคำสั่งหมดเวลาหรือตั้งค่าเป็น 30 วินาที แต่ฉันมีสิ่งเหล่านี้ในการกำหนดค่า Vhost …

2
บัตรผ่านไม่ทำงาน
ฉันพยายามให้ ProxyPass ทำงานกับการติดตั้ง OpenSUSE 13.1 ของฉัน ฉันเหนื่อย: a2enmod proxy a2enmod proxy_http a2enmod proxy_connect systemctl restart apache2 systemctl reload apache2 (ชุดคำสั่งทั้งหมดไม่มีประโยชน์) ฉันยังคงได้รับข้อผิดพลาดเดียวกันซ้ำแล้วซ้ำอีก: SERVER:/etc/apache2 # apache2ctl start -f /etc/apache2/httpd-proxy.conf AH00526: Syntax error on line 4 of /etc/apache2/httpd-proxy.conf: Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server …

1
Proxypass Directives จำเป็นต้องมี ProxyPassReverse Directive หรือไม่?
ProxyPass Directives ทั้งหมดต้องการ ProxyPassReverse Directive หรือไม่ ProxyPass / http://foo.example.com:8080/ ProxyPassReverse / http://www.example.com/ ฉันเห็นตัวอย่างนี้และเข้าใจว่าการรับส่งข้อมูลทั้งหมดเข้าสู่foo.example.comพร็อกซีไปที่ foo.example.com:8080 บรรทัดที่สองทำอะไร

3
ข้อผิดพลาดเป็นระยะเมื่อใช้ mod_proxy ทำ reverse proxy กับบริการ SOAP
ฉันได้รับข้อผิดพลาดนี้ทุกสองสามนาทีเมื่อใช้ mod_proxy เป็น reverse proxy กับบริการเว็บ SOAP อาจมีการร้องขอ 3 หรือ 4 ครั้งต่อวินาทีดังนั้นเราจึงพูดถึง 1 หรือ 2 จากทุกๆพันที่มีข้อผิดพลาดนี้ [Tue Nov 23 11:44:14 2010] [error] [client 172.16.1.31] (20014)Internal error: proxy: error reading status line from remote server soap1.server:8888 [Tue Nov 23 11:44:14 2010] [error] [client 172.16.1.31] proxy: Error reading from remote server returned …

3
Apache proxy ไม่ทำงานสำหรับพอร์ต localhost
ฉันมี Apache 2.2.15 ที่ทำงานบนพอร์ต 80 และต้องการพร็อกซีเครื่องยนต์ servlet บน localhost พอร์ต 8983 ฉันมีการตั้งค่าที่ทำงานบนเซิร์ฟเวอร์อื่น แต่ได้ย้ายไปยังเครื่อง CentOS 6 มันไม่ทำงานกับเครื่องใหม่ การกำหนดค่าโฮสต์เสมือนของฉัน: ProxyRequests Off <พร็อกซี *> คำสั่งปฏิเสธอนุญาต อนุญาตจากทั้งหมด </ พร็อกซี> ProxyPass / http: // localhost: 8983 / ProxyPassReverse / http: // localhost: 8983 / ฉันสามารถเข้าถึงพอร์ต 8983 ถ้าฉันใช้เบราว์เซอร์และไปที่มันโดยตรง (และไม่ผ่านพร็อกซี Apache) แต่ไม่สามารถเชื่อมต่อได้หากฉันไปที่ / ผ่านเซิร์ฟเวอร์ Apache ฉันสามารถเปลี่ยนสิ่งที่เป็นพร็อกซีไปเป็นhttp://slashdot.orgและ Slashdot …

6
ฉันจะเปิดใช้งานการบันทึกสำหรับการร้องขอผ่าน mod proxy
มีวิธีบันทึกการร้องขอผ่าน mod proxy หรือไม่? ฉันต้องการวิธีในการดีบักการกำหนดค่าของฉันเพราะฉันดูเหมือนจะไม่ได้รับตำแหน่งที่ฉันควรจะเป็น ฉันต้องการข้อมูลต่อไปนี้: ส่วนหัวของคำขอที่เข้ามา สิ่งที่ถูกส่งไปยังเป้าหมายพร็อกซี อาจเป็นคำถามที่เกี่ยวข้อง: มีวิธีตัดส่วนหัวบางส่วนหรือไม่ ฉันพยายามต่อไปนี้: ProxyPass /proxy/other http://not.under.my.control/ <Location /proxy/other> ProxyPassReverse / RequestHeader unset Authorization </Location> ฉันไม่รู้จริงๆว่ามันใช้ได้หรือไม่เพราะฉันไม่เห็นอะไรเลย

2
Apache URL เขียนใหม่ใน reverse proxy
ฉันปรับใช้ Apache หน้าแอปพลิเคชันที่โฮสต์โดย Karaf (Apache และ Karaf อยู่บนเซิร์ฟเวอร์ที่แยกต่างหาก) ฉันต้องการ Apache ให้ทำงานเป็น reverse proxy และซ่อนบางส่วนของ URL URL ที่จะได้รับเข้าสู่ระบบในหน้าของแอพลิเคชันโดยตรงจากเซิร์ฟเวอร์ app http://app-server:8181/jellyfishเป็น หน้าจะให้บริการโดย Jetty instance ที่ทำงานภายใน Karaf แน่นอนว่าพฤติกรรมนี้มักจะถูกปิดกั้นโดยไฟร์วอลล์สำหรับทุกอย่างยกเว้นพร็อกซีเซิร์ฟเวอร์ย้อนกลับ เมื่อปิดไฟร์วอลล์หากคุณกด URL นี้ Jetty จะโหลดหน้าเข้าสู่ระบบ แถบที่อยู่ของเบราว์เซอร์เปลี่ยนไปอย่างถูกต้องhttp://app-server:8181/jellyfish/login?0และทุกอย่างทำงานได้ สิ่งที่ฉันต้องการคือhttp://web-server(เช่นจากรูท) เพื่อแม็พกับ Jetty บนเซิร์ฟเวอร์แอปด้วยชื่อของแอพ ( jellyfish) ที่ถูกระงับ เช่นเบราว์เซอร์จะเปลี่ยนไปแสดงhttp://web-server/login?0ในแถบที่อยู่และ URL และเนื้อหาที่ตามมาทั้งหมดจะแสดงพร้อมกับโดเมนของเว็บเซิร์ฟเวอร์และไม่มีjellyfishความยุ่งเหยิง ฉันสามารถให้ Apache ทำงานเป็น reverse proxy อย่างง่ายโดยใช้ config (ตัวอย่าง): - …

1
ข้อผิดพลาด httpd ของ Apache“ proxy: ap_get_scoreboard_lb” พร้อมด้วย ProxyPass
ฉันตั้งค่า apache เป็น proxy สำหรับ tomcat แต่ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันกำหนดเป้าหมายหน้า บางครั้งฉันได้รับหน้าว่างหรือ 503: [ข้อผิดพลาด] [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(2) failed in child 29611 for worker proxy:reverse [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(1) failed in child 29611 for worker https://localhost:8443/ [Mon Dec 03 04:58:16 2012] [error] proxy: ap_get_scoreboard_lb(0) failed in …

3
proxy: เนื้อความคำขอผ่านไม่สำเร็จ
ฉันกำลังพยายามเปิดใช้งานพร็อกซีโฮสต์เสมือน: <VirtualHost *:80> ServerName xxxxx.domain.tdl SSLProxyEngine On SSLProxyCheckPeerCN on ProxyPass / https://localhost:1234 ProxyPassReverse / https://localhost:1234 </VirtualHost> แต่ฉันมี 500 err และ error.log (apache2) ของฉันแสดง: [อ. Jan 03 15:41:42 2012] [ข้อผิดพลาด] (502) ข้อผิดพลาดที่ไม่รู้จัก 502: พร็อกซี: เนื้อความคำขอผ่านไม่สามารถเป็น [:: 1]: 1234 (localhost) [อ. Jan 03 15:41:42 2012] [ข้อผิดพลาด] พร็อกซี: เนื้อความคำขอผ่านไม่ได้เป็น [:: 1]: 1234 (localhost) …

1
ฉันจะกำหนดค่า mod_proxy ไม่ใช่เฉพาะข้อผิดพลาดแคช 503 ได้อย่างไร
นี่คือการกำหนดค่า mod_proxy ของฉัน: <IfModule mod_proxy.c> <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /manage/ http://localhost:9000/manage/ ProxyPassReverse /manage/ http://localhost:9000/manage/ </IfModule> ฉันพบว่าเมื่อใดก็ตามที่เว็บไซต์อื่น ๆ ที่ฉันมีบนพอร์ต 9000 ไม่ตอบสนองอย่างถูกต้องฉันจะได้รับข้อผิดพลาด 503 ข้อต่อซึ่งยังคงอยู่แม้ว่าจะมีการแก้ไขแล้วก็ตาม กล่าวอีกนัยหนึ่งว่าการตอบสนอง 503 ดูเหมือนจะถูกแคช ฉันจะปิดการใช้งานได้อย่างไร ฉันไม่คิดว่าฉันเปิดใช้งานการแคชด้วยตัวเองบางทีนี่อาจเป็นค่าเริ่มต้น

2
การตั้งค่าโฮสต์เสมือน mod_proxy พื้นฐาน
ฉันกำลังพยายามตั้งค่าโฮสต์เสมือนพื้นฐานให้พร็อกซีคำขอทั้งหมดเพื่อ test.local ไปยังเซิร์ฟเวอร์ WEBrick ฉันทำงานบน 127.0.0.1:8080 ในขณะที่รักษาคำขอทั้งหมดไปยัง localhost ไปยังไฟล์คงที่ของฉันใน / var / www ฉันใช้ Ubuntu 10.04 ฉันติดตั้ง libapache2-mod-proxy-html แล้วและเปิดใช้งานโมดูลด้วย a2enmod proxy ฉันยังเปิดใช้งานโฮสต์เสมือนของฉัน อย่างไรก็ตามเมื่อใดก็ตามที่ฉันไป test.local ฉันมักจะได้รับข้อผิดพลาดเซิร์ฟเวอร์ cryptic 500 และบันทึกทั้งหมดของฉันบอกฉันคือ: [Thu Mar 03 01:43:10 2011] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO …

1
ให้บริการคำขอทั้งหมดผ่านพร็อกซี * ยกเว้น * คำขอเฉพาะ
ฉันมีสิ่งต่อไปนี้ใน httpd.conf ของฉัน <VirtualHost *:80> ServerName foo.org ServerAlias www.foo.org <Proxy *> Options FollowSymLinks MultiViews Order allow,deny Allow from all AllowOverride All </Proxy> ProxyPass / http://127.0.0.1:5012/ ProxyPassReverse / http://127.0.0.1:5012/ </VirtualHost> วิธีนี้ใช้ได้ผลดีกับคำขอทั้งหมดของhttp://foo.org ที่ได้รับจากพอร์ต 5012 โดยใช้เว็บเซิร์ฟเวอร์อื่น อย่างไรก็ตามฉันต้องการให้บริการเพียงhttp://foo.org/libผ่าน Apache จากพอร์ต 80 ฉันจะทำอย่างไร การเพิ่มบรรทัดต่อไปนี้ใน conf ไม่ช่วยได้ Alias /lib /path/to/lib <Directory "/path/to/lib"> AllowOverride None Options None …

3
ช่วยฉันเข้าใจวิธีใช้ ProxyPass
อัปเดต: ฉันเพิ่มคำถามที่แก้ไขแล้วหลังจากเล่นไปพร้อมคำตอบสองข้อด้านล่าง สวัสดี, หากคุณกำลังอ่านสิ่งนี้คุณอาจคุ้นเคยกับ mod_proxy ของ Apache และฟังก์ชั่น ProxyPass เช่นเดียวกับคนอื่น ๆ ฉันมีปัญหาในการมีแอปพลิเคชันที่ฉันสามารถเข้าถึงได้จากนอกเครือข่ายภายในของเรา แต่แอปพลิเคชันนั้นเข้าถึงแอพภายในเครื่องอื่นบนเครื่องที่แตกต่างกันและเมื่อคุณเข้าใช้การตั้งค่านี้ ดังนั้นการตั้งค่าของฉันง่ายมากฉันมี: Machine # 1 เปิดใช้งานการเข้าถึงระยะไกลฉันเข้าถึงผ่านชื่อโฮสต์และคายแอปพลิเคชัน PHP ที่ทำงานอยู่ Machine # 2 เป็นแอปพลิเคชั่นใหม่ที่ใช้ Django โดยใช้แบ็กเอนด์ที่แตกต่างกันโดยสิ้นเชิง (แม้จะตรวจสอบความถูกต้อง) มันถูกโฮสต์ไว้ในเครื่องแยกต่างหาก ในอินทราเน็ตของเราเราเข้าถึงผ่านชื่อโฮสต์ที่มีชื่ออย่างง่ายซึ่งโดยทั่วไปจะเชื่อมโยงกับ ip 192.168.0.101 ภายใน ฉันได้ลองเล่นกับ ProxyPass เพื่อตั้งค่าตัวอย่างเช่นการส่งผ่าน / ใหม่จะส่งไปยังแอปพลิเคชันใหม่: ProxyPass / ใหม่http://192.168.0.101/ ผลงานประเภทนี้จะได้รับการร้องขอไปยังแอปอื่น แต่หยุดเพราะแอพ Django ของฉันต้องการเปลี่ยนเส้นทางไปที่ / auth / login / ซึ่งมันจำไม่ได้ทันที …

1
ใช้ apache เป็น HTTPS เพื่อ HTTP Proxy
ฉันพยายามกำหนดค่า Apache บน Centos 6 ให้เป็นพร็อกซีและย้อนกลับปริมาณพร็อกซีไปยังเซิร์ฟเวอร์ http ของผู้ให้บริการบุคคลที่สาม การตั้งค่าควรทำงานเช่นนี้: https://mydomain.com/proxy/ พร็อกซีทุกการจราจรโปร่งใสไป http://thirdparty.com/app/ ปัญหาที่ฉันมีคือคำขอใด ๆ เพื่อhttps://mydomain.com/proxy/รับการเปลี่ยนเส้นทาง 301 ในการตอบสนอง นี่คือตัวเลือกทั้งหมดที่เกี่ยวข้องกับพร็อกซี่ในของฉัน VirtualHost SetOutputFilter proxy-html ProxyHTMLExtended On ProxyRequests Off SSLProxyEngine On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /proxy/ http://thirdparty.com/app/ <Location /proxy/> ProxyPassReverse / ProxyHTMLEnable On ProxyHTMLURLMap http://thirdparty.com/app/ /proxy/ ProxyHTMLURLMap / /proxy/ …

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