Làm thế nào để Proxypass trên Apache?


1

Tôi đã googled và tôi không thể bắt gặp bất cứ điều gì chỉ thị về cấu hình apache cho proxypass.

Tôi đã cố gắng tìm tên miền Chuyển tiếp sang máy chủ web mới mà không cần chờ lan truyền DNS nhưng tôi không hiểu họ đang nói gì, đặc biệt là:

1) làm cách nào tôi có thể kích hoạt proxy, proxy_http và các mô-đun viết lại

2) tìm tập tin cấu hình apache và dòng này ở đâu?

RewriteEngine on 
ProxyPassReverse   /      http://<your-fqdn-here>/
ProxyPass          /      http://<your-fqdn-here>/

Ý tôi là bạn có thể hướng dẫn tôi cách cấu hình ProxyPass không?

Cập nhật

Tôi đang chạy trên phiên bản centOS Apache:

Server version: Apache/2.2.22 (Unix)
Server built:   Feb 10 2012 16:45:29
Cpanel::Easy::Apache v3.9.1 rev9999

Tôi đã cố gắng cài đặt các mô-đun proxy bằng cách theo dõi hướng dẫn này http://www.hackersgarage.com/install-mod_proxy-apache-module-on-whmcpanel-ceentos-linux-server.html

Nhưng tôi đã nhận được lỗi này:

./configure --enable-mods-shared="proxy proxy_http proxy_connect"
-bash: ./configure: /bin/sh: bad interpreter: Permission denied

Vì vậy, tôi chỉ bỏ qua nó và tiếp tục với các lệnh còn lại. Khi tôi cố gắng khởi động lại apache:

root@db [/tmp/httpd-2.2.22]# /etc/init.d/httpd restart  
httpd: Syntax error on line 36 of /usr/local/apache/conf/httpd.conf: module proxy_module is built-in and can't be loaded

Chỉ cần thêm nó vào httpd.conf và nó đã hoạt động

< VirtualHost *:80 >
   ServerName domain.com
ServerAlias www.domain.com

<IfModule mod_proxy.c> ProxyPass / http://www.newdomain.com/ ProxyPassReverse / http://www.newdomain.com/ </ IfModule> </ Virtualhost>


1
Cụ thể là gì từ câu trả lời khác mà bạn không hiểu? :-)
Mathias R. Jessen

Làm thế nào tôi có thể kích hoạt các mô-đun proxy, proxy_http và viết lại?
kornesh

Câu trả lời:


1

Hãy xem này:

http: // l Library.linode.com/web-servers/apache/proxy-configuration/multipl-webservers-proxypass-centos-5

Đó là cho CentOS5, nhưng CentOS6 sẽ có cấu hình tương tự, vì Apache đã không thay đổi đáng kể.

Về cơ bản, bạn không nên cố gắng biên dịch mod_proxy. Máy chủ httpd của CentOS đã có sẵn như là một mô-đun được biên dịch. Bạn chỉ cần kích hoạt các chỉ thị proxy bằng tài liệu trên. Vì vậy, bạn nên sao lưu mọi thay đổi bạn đã thực hiện khi biên dịch mô-đun.


2

Tôi sẽ cố gắng giải quyết các câu hỏi của bạn tốt nhất có thể, với thông tin bạn đã cung cấp.

Đầu tiên, liên quan đến việc kích hoạt các mô-đun, điều này sẽ thay đổi theo phân phối. Ví dụ, trên RHEL / CentOS, các mô đun viết lại và proxy được bao gồm trong gói httpd cơ sở, bạn không cần phải làm gì khác.

Ngược lại, trên Debian, bạn cần liên kết tệp cấu hình từ mod có sẵn sang mod được kích hoạt. Có một công cụ được gọi a2enmodđể trợ giúp việc này, ví dụ:

a2enmod proxy
a2enmod rewrite

Bạn nên xem những mô-đun nào có thể được kích hoạt bằng cách xem các tệp cấu hình trong /etc/apache2/mods-available/, nếu bạn đang sử dụng Debian. Tôi tin rằng Ubuntu Server hoàn toàn giống nhau.

Theo như số 2, bạn có thể đặt cấu hình proxy trong một <VirtualHost>khai báo mà bạn muốn proxy. Điều này có thể, một lần nữa, thay đổi theo phân phối hoặc sở thích. Hầu hết các hệ thống RHEL / CentOS sẽ khuyến khích sử dụng my-website.com.conftệp dành riêng cho trang web /etc/httpd/conf.d/. Người dùng Debian nên đặt tệp vào /etc/apache2/sites-enabled/(hoặc trong sites-availablevà tạo liên kết tượng trưng với a2ensite). Một hướng dẫn đầy đủ về các công cụ trợ giúp có thể được tìm thấy ở đây .


Tôi đang chạy CentOS và cố gắng kích hoạt các modubles trên httpd.conf nhưng không tải được khi tôi cố khởi động lại máy chủ. Tôi đã cập nhật câu hỏi với lỗi thứ tôi gặp phải.
kornesh
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.