Apache proxy không hoạt động cho một cổng localhost


16

Tôi có Apache 2.2.15 chạy trên cổng 80 và muốn ủy quyền một công cụ servlet trên cổng localhost 8983. Tôi có thiết lập chạy trên máy chủ khác, nhưng đã chuyển sang máy CentOS 6. Nó không hoạt động trên máy mới. Cấu hình máy chủ ảo của tôi:

Tắt ProxyRequests

<Proxy *>
   Lệnh từ chối, cho phép
   Cho phép từ tất cả
</ Proxy>

ProxyPass / http: // localhost: 8983 /
ProxyPassReverse / http: // localhost: 8983 /

Tôi có thể truy cập cổng 8983 nếu tôi sử dụng trình duyệt và truy cập trực tiếp vào cổng đó (và không thông qua proxy Apache), nhưng không thể kết nối với nó nếu tôi đi đến / thông qua máy chủ Apache.

Tôi có thể thay đổi những gì được ủy nhiệm thành một cái gì đó như http://slashdot.org và Slashdot được ủy quyền thành công (vì vậy tôi biết rằng nó có thể ủy quyền chung).

Tôi đã bật đăng nhập gỡ lỗi trong Apache và đây là giao dịch:

[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] mod_proxy_http.c (56): proxy: HTTP: URL chuẩn hóa // localhost: 8983 /
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (1506): [khách hàng 184,39,79,7] proxy: http: Found worker http: // localhost: 8983 / for http: // localhost: 8983 /
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] mod_proxy.c (998): Chạy trình xử lý http (xử lý 0)
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] mod_proxy_http.c (1962): proxy: HTTP: URL phục vụ http: // localhost: 8983 /
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2011): proxy: HTTP: đã có được kết nối cho (localhost)
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2067): proxy: kết nối http: // localhost: 8983 / đến localhost: 8983
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2193): proxy: được kết nối / với localhost: 8983
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2444): proxy: HTTP: ổ cắm fam 10 được tạo để kết nối với localhost
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2455): (13) Quyền bị từ chối: proxy: HTTP: cố gắng kết nối với [:: 1]: 8983 (localhost) không thành công
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2444): proxy: HTTP: ổ cắm fam 2 được tạo để kết nối với localhost
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [lỗi] (13) Quyền bị từ chối: proxy: HTTP: cố gắng kết nối với 127.0.0.1:8983 (localhost) không thành công
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [lỗi] ap_proxy_connect_backend công cụ vô hiệu hóa cho (localhost)
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (2029): proxy: HTTP: đã phát hành kết nối cho (localhost)
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] mod_proxy_http.c (56): proxy: HTTP: URL chuẩn hóa //localhost:8983/favicon.ico
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (1506): [khách hàng 184,39,79,7] proxy: http: Found worker http: // localhost: 8983 / for http: // localhost: 8983 / favicon.ico
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] mod_proxy.c (998): Chạy trình xử lý http (xử lý 0)
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] mod_proxy_http.c (1962): proxy: HTTP: URL phục vụ http: // localhost: 8983 / favicon.ico
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [gỡ lỗi] proxy_util.c (1949): proxy: HTTP: đang thử lại công nhân cho (localhost)
[Chủ Nhật ngày 22 tháng 4 16:47:04 2012] [lỗi] proxy: HTTP: kết nối bị vô hiệu hóa cho (localhost)

Tôi không biết fam 10 hoặc fam 2 socket là gì. Bất cứ ai cũng có ý tưởng về lý do tại sao nó không được ủy quyền cho cổng thay thế của tôi?

Cảm ơn!


Apache proxy sẽ chỉ cho phép lưu lượng HTTP hoặc HTTPS đi qua nó.
ionFish

Câu trả lời:


7

Đây là giải pháp cho vấn đề của bạn:

Để bật boolean này, bạn đơn giản phải sử dụng dòng này (quyền root)

setsebool -P httpd_can_network_connect on

hoặc là

sudo setsebool -P httpd_can_network_connect on

Mong rằng sẽ giúp. Tham khảo xem tại đây: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans


11

Tôi đã giải quyết vấn đề của mình:

Nếu tôi làm: sestatus -b | grep httpd

Tôi có thể thấy httpd_can_network_connectoff

Giải pháp là gõ: togglesebool httpd_can_network_connect


4
Không chắc chắn toggleseboolđến từ đâu (không phải trên CentOS7-Minimal) và web gợi ý rằng ngay cả khi bạn togglesebool chỉ có các giá trị "trong bộ nhớ" được thay đổi " . Nhưng setsebool -P httpd_can_network_connect=1tôi đã làm việc để nó tồn tại khi khởi động lại. gợi ý!
jwd630

1

Đảm bảo rằng cổng 8080 đang lắng nghe bằng cách chạy lệnh sau

netstat -tlpn

Nếu không, hơn là khởi động lại máy chủ jenkins

sudo /etc/init.d/jenkins start

Nó nên hoạt động ngay bây giờ. Hy vọng nó giúp

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.