Windows下Apache服務多個端口反向代理配置


修改\Apache24\conf\httpd.conf:

1、修改安裝包地址:
Define SRVROOT "/Apache24"
修改為:
Define SRVROOT "D:\httpd-2.4.52-o111m-x86-vc15\Apache24"

2、修改監聽端口:
Listen 80
修改為:

Listen 81
Listen 82
Listen 83

3、打開相關模塊配置(去掉注釋):

(1)#LoadModule access_compat_module modules/mod_access_compat.so
(2)#LoadModule filter_module modules/mod_filter.so
(3)#LoadModule headers_module modules/mod_headers.so

(4)#LoadModule proxy_module modules/mod_proxy.so                     -- 常見配置(基礎反向代理1)
(5)#LoadModule proxy_connect_module modules/mod_proxy_connect.so     -- 常見配置
(6)#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so             -- 常見配置
(7)#LoadModule proxy_http_module modules/mod_proxy_http.so           -- 常見配置(基礎反向代理1)

(8)#LoadModule reqtimeout_module modules/mod_reqtimeout.so

打開(4)、(7)兩個模塊即可配置單端口反向代理設置;
(1)~(8)8個模塊全部打開時,用來配置多端口反向代理設置:

LoadModule access_compat_module modules/mod_access_compat.so
LoadModule filter_module modules/mod_filter.so
LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so

4、注釋ServerName:
ServerName localhost:80
注釋后為:
#ServerName localhost:80

5、修改“htdocs”地址:

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

修改為:

DocumentRoot "D:\httpd-2.4.52-o111m-x86-vc15\Apache24\htdocs"
<Directory "D:\httpd-2.4.52-o111m-x86-vc15\Apache24\htdocs">

6、修改“cgi-bin”地址:
ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
修改為:
ScriptAlias /cgi-bin/ "D:\httpd-2.4.52-o111m-x86-vc15\Apache24\cgi-bin\"

7、最后尾部新增添加代理配置信息:

<VirtualHost *:81>
#ProxyPreserveHost On     #ProxyPreserveHost On 。 默認情況下它的值為Off,沒有仔細研究這個參數背后的深層含意,大概意思就是反向代理轉發所有主機
ProxyRequests off         #反向代理
#
#ServerName 127.0.0.1
#ServerAlias 127.0.0.1
#
#<Proxy *>
#Order Deny,Allow    # 用來控制目錄和文件的訪問授權。
#Deny from all       # 禁止
#Allow from all      # 允許
#</Proxy>
#
ProxyPass / http://www.baidu.com/               #http://www.baidu.com/(百度實際地址:https://www.baidu.com/)
ProxyPassReverse / http://www.baidu.com/
</VirtualHost>


<VirtualHost *:82>
ProxyRequests off            #反向代理
ProxyPass / http://www.processon.com/
ProxyPassReverse / http://www.processon.com/
</VirtualHost>


<VirtualHost *:83>
ProxyRequests on             #正向代理
ProxyPass / http://www.baidu.com/
ProxyPassReverse / http://www.baidu.com/
</VirtualHost>

注:使用此配置可以同時設置多端口正向代理和方向代理。

8、httpd.conf文件配置完成后,重啟Apache服務即可
(1)Windows版本啟動/停止方式:
啟動:
進入D:\httpd-2.4.52-o111m-x86-vc15\Apache24\bin\中,雙擊httpd.exe,保持彈窗不閃退即可進行測試。

停止:
關閉程序窗口即可。

(2)Linux版本啟動/停止方式:
命令 ps -ef|grep httpd 可查看Apache安裝路徑:
apahce安裝目錄為/usr/local/apache2
Apahce啟動命令:
/usr/local/apache2/bin/apachectl start
Apache停止命令:
/usr/local/apache2/bin/apachectl stop
Apache重新啟動命令:
/usr/local/apache2/bin/apachectl restart

要在重啟 Apache 服務器時不中斷當前的連接,則應運行:
/usr/local/sbin/apachectl graceful

如果apache安裝成為linux的服務的話,可以用以下命令操作:
啟動: service httpd start
重新啟動: service httpd restart
停止服務: service httpd stop


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM