Apache Reverse Proxy Config


0

ฉันยังค่อนข้างใหม่กับ Apache และการกำหนดค่าและมีปัญหากับเว็บเซิร์ฟเวอร์ของฉันที่ฉันให้บริการ Redmine แอปพลิเคชันทับทิมและเนื้อหาคงที่

Apache 2.2

ปัจจุบันมีการตั้งค่าพร็อกซีต่อไปนี้:

ProxyPass /portal https://mypage.domain.com:8181/portal
ProxyPassReverse /portal https://mypage.domain.com:8181/portal

ProxyPass /examples http://mypage.domain.com:8555/portal
ProxyPassReverse /examples http://mypage.domain.com:8555/portal

ProxyPass / balancer://redmine_cluster/
ProxyPassReverse / balancer://redmine_cluster/

<Proxy balancer://redmine_cluster>
     BalancerMember http://REDMINEMACHINENAME:3000/
</Proxy>

DocumentRoot "X:/app/Redmine/public" 

<Directory "X:/app/Redmine/public">
        Require all granted
        Options -MultiViews
</Directory>

RequestHeader set X-Forwarded-Proto "https"

เมื่อพยายามเข้าถึง:

Redmine:

mypage.domain.com

มันพาฉันไปที่ Redmine ดี.

/ portal:

mypage.domain.com/portal

มันล้มเหลว

ไม่พบ URL / พอร์ทัล / ที่ร้องขอไม่พบในเซิร์ฟเวอร์นี้

WEB.SERVER.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207
MY.IP.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207

/ตัวอย่าง

mypage.domain.com/examples

MY.IP.ADDRESS - - [09/Oct/2015:16:10:11 -0700] "GET /examples/ HTTP/1.1" 200 1285

โรงงาน


เป็นไปได้ไหมที่จะใช้ Apache เพื่อกำหนดค่าให้ใช้งานได้

mypage.domain.com
mypage.domain.com/portal
mypage.domain.com/examples

เพื่อไปทุกที่ที่ฉันต้องไป อย่างไร?

ข้อเสนอแนะใด ๆ เกี่ยวกับชื่อที่เหมาะสมดีกว่า?


คุณสามารถแสดงบันทึกการทำงานของ Apache ให้กับคำขอ / ตัวอย่างได้หรือไม่
Linux Nerd

คุณสามารถให้ส่วนที่ไม่เกี่ยวข้องของ vhost config ด้วยหรือไม่?
Linux Nerd

@SomeLinuxNerd ฉันรวมอะไรมากกว่านี้ใน vhost มีเนื้อหาการกำหนดค่า SSL ที่แสดงความคิดเห็นบางส่วนในการกำหนดค่า vhost นั้นที่ฉันไม่สามารถโพสต์ได้ มีอะไรเป็นพิเศษไหมที่คุณอาจมองหา? นอกจากนี้ฉันเล่นซอกับมันอีกเล็กน้อยและได้ / ตัวอย่างเพื่อทำงานอีกครั้ง / portal ยังคงไม่ทำงาน
ตัวแทน provocateur

ข้อความแสดงข้อผิดพลาด "URL ที่ร้องขอ / 42 พอร์ต / ... " ดูเหมือนจะสำคัญมาก ดูเหมือนว่ามีบางอย่างกำลังเขียน URL ใหม่! ดังนั้นฉันยังไม่มีคำตอบ แต่ลองดาวน์โหลดปลั๊กอินเบราว์เซอร์ Live Headers และปล่อยให้มันทำงานเมื่อคุณเยี่ยมชม / พอร์ทัล ฉันเดิมพันบางสิ่งบางอย่างกำลังทำ mod_rewrite ในบางจุดเมื่อคุณคิดออกโซ่โดยที่คุณจบที่ / 42 พอร์ตคุณควรมีความคิดที่ดีกว่าที่จะดูต่อไป นอกจากนี้ยังมีคำกริยา http ที่เรียกว่า TRACE ซึ่งเหมือนกับคำขอ GET ที่ให้คุณเห็นว่าคำขอของคุณผ่านพร็อกซีย้อนกลับและโหลดบาลานเซอร์หรือไม่
Linux Nerd บางคน

ขออภัยมันควรจะพูด / portal /
ตัวแทน provocateur

คำตอบ:


1

นี่ไม่ใช่คำตอบ แต่ฉันวิ่งออกจากห้องในช่องแสดงความคิดเห็น ฉันตั้งค่าการกำหนดค่าของคุณบนแล็ปท็อป สิ่งนี้เกิดขึ้นแน่นอนเพราะคุณพร็อกซี่ไปที่เว็บไซต์ https สำหรับ / พอร์ทัล หากคุณสามารถส่งไปยังเว็บไซต์ http มันจะแก้ไขปัญหาได้ทันที ฉันได้ตรวจสอบและชอบคุณ (เป็นไปได้มากที่สุด) ฉันเปิดใช้งาน mod_proxy และ mod_proxy_connect (อย่างน้อยในการกำหนดค่า) แต่ด้วยเหตุผลบางอย่างคำขอไม่ได้ถูกส่งไปยังเว็บไซต์ https ไม่ว่าจะอยู่ที่ใด Ubuntu นั้นยากที่จะดูว่าโมดูลใดที่ถูกโหลดจริง

หลังจากไม่เห็นข้อมูลไปยังพอร์ตบนดมกลิ่นฉันจับ apache2 และได้รับ:

[pid 397] read(5, <unfinished ...> [pid 458] accept4(4, 0xa9ee615c, [128], SOCK_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)

ซึ่งไม่มีประโยชน์อย่างยิ่ง แต่แสดงให้เห็นว่าไม่มีการร้องขออย่างแน่นอน คุณสามารถเล่นกับส่วน https ด้วยตัวเองมันจะแสดงข้อผิดพลาดเดียวกันโดยไม่คำนึงถึง URL พร็อกซีอื่น ๆ


ฉันยังได้รับข้อผิดพลาด 503 ด้วย มีโอกาสเล็กน้อยที่ข้อผิดพลาดใน strace นั้นมาจากฉันที่ messing กับ MaxClients เพื่อทำให้ strace ง่ายขึ้นไม่ว่ามันจะไม่ทำงานบนเครื่องของฉัน (Ubuntu 14.04 desktop edition)
Linux Nerd บางคน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.