閒聊

[Apache] Reverse Proxy 反向代理設定

要管的網站越來越多,且還有不少客戶的自己網站裡面漏洞一堆.. 然後ip不夠用巴拉巴拉的問題

所以只好來架設Reverse Proxy 來分攤ip數不夠用的問題

要架設的話首先要去httpd.conf開啟幾個模組

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

然後

ProxyRequests Off

在打上

<VirtualHost *:80>
ServerName aaa.davidou.org
#因為只是Reverse,因此ProxyRequests要關閉
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>

ProxyPass / http://192.168.0.100/
ProxyPassReverse / http://192.168.0.100/
ProxyPreserveHost on
</VirtualHost>

這部分即可

上面aaa.davidou.org的部分要換成你要連進來的網址

192.168.0.100的部分請改成你的web server的ip

內外ip皆可,但是你的proxy server要能連的到他為主

如果內網的ip是需要跳port的話,就變成

<VirtualHost *:80>
ServerName aaa.davidou.org
#因為只是Reverse,因此ProxyRequests要關閉
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>

ProxyPass / http://192.168.2.248:8080/
ProxyPassReverse / http://192.168.2.248:8080/
ProxyPreserveHost on
</VirtualHost>

如果要開啟ssl的功能的話就需要加入

SSLProxyEngine On

SSLEngine on
SSLCertificateFile C:\Certbot\live\www.davidou.org\fullchain.pem
SSLCertificateKeyFile C:\Certbot\live\www.davidou.org\privkey.pem

當然上面的憑證你要去自己申請,像是我就用Certbot申請產生出來的

2 comments

冒昧請教,我有一主機port分配使用如下:
apache 已改用 8080 和 442
http://domain.com (預80 給封裝tomcat的A.jar使用)
https://domain.com (預設443 給封裝tomcat的A.jar使用)
https://sub.domain.com:441 (給封裝tomcat的B.jar使用)
以上運作沒有問題。
我想利用Apache Reverse Proxy
希望達到再往址列輸入子網域不需要加上port號就等於連到:441
(ex: https://sub.domain.com)
請問這樣是否可行?
老實說,我是新手,有許多不甚理解的地方,我有留下我的E-mail,
如果您方便的話可否也留下與您聯繫的方式向您請教?並提報您的教學費用
謝謝

發佈回覆給「xiang(+祥)」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

(若看不到驗證碼,請重新整理網頁。)