电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用 Apache 反向代理的設置技巧

瀏覽:32日期:2023-03-07 14:40:05

Apache 是一個多功能的 Web 服務器,它提供了完整的支持功能,其中一些是通過擴展來實現的。在本文中,我們將使用該mod_proxy模塊將 Apache 配置為反向代理角色。

雖然 Apache 可能不是您作為反向代理的首選,但 NGINX 等更現代的替代方案往往會引起注意,mod_proxy但對于已經在運行 Apache 并且現在需要將流量路由到另一個服務的服務器很有用。您可以設置 Apache 虛擬主機將給定域的請求傳遞到單獨的 Web 服務器。

出于本指南的目的,我們將 Apache 2.4 與基于 Debian 的系統一起使用。我們還將假設您想要代理流量的服務器已經可以從您的 Apache 主機通過網絡訪問。本文重點介紹基于唯一虛擬主機啟用代理,但mod_proxy也可全局配置,作為 Apache 服務器配置的一部分,或通過.htaccess文件在目錄級別進行配置。

啟用代理模塊

mod_proxy包含在默認的 Apache 安裝中。現在a2enmod用于激活模塊及其獨立的 HTTP 組件:

sudo a2enmod proxysudo a2enmod proxy_http

這將 Apache 設置為支持代理到其他主機的 HTTP 連接。該模塊使用ProxyApache 配置文件中的 -prefixed 指令進行配置。我們接下來會設置這些。

設置代理虛擬主機

讓我們設置一個轉發example.com到內部 IP 地址的虛擬主機192.168.0.1。您應該example.com將該點的 DNS 記錄添加到您的 Apache 主機。

在這種情況下,代理允許訪問者通過外部地址透明地訪問您的內部 Web 服務器。Apache 充當將流量路由到其最終目的地的看門人。用戶將看到example.com,即使 Apache 實際上是通過單獨的服務器解析請求。

在里面添加一個新的虛擬主機文件/etc/apache2/sites-available,內容如下:

<VirtualHost *:80>    ServerName example.com    ProxyPass / http://192.168.0.1/ nocanon    ProxyPassReverse / http://192.168.0.1/</VirtualHost>

在ProxyPass與ProxyPassReverse指令指定的流量example.com應該被代理到192.168.0.1。可選nocanon關鍵字指示 Apache 將原始 URL 傳遞給遠程服務器。如果沒有這個關鍵字,Apache 會自動規范化 URL,這可能與某些服務器和框架不兼容。使用nocanon保證兼容性但會影響您的安全狀況,因為它會禁用 Apache 針對基于 URL 的代理攻擊的內置保護。

ProxyPassReverse必須提供以將您的配置區分為反向代理設置。Apache將使用所提供的URL重寫Location,Content-Location和URI由后端發出的響應頭。這確保了后續請求繼續命中反向代理,而不是嘗試直接到達內部服務器。

此配置將代理所有請求。您可以將代理限制到特定路徑,例如/media通過調整ProxyPass和ProxyPassReverse指令:

ProxyPass /media http://192.168.0.1/ProxyPassReverse /media http://192.168.0.1/

添加多個ProxyPass規則可讓您使用一個虛擬主機在多個目標之間路由請求。規則按照它們編寫的順序進行匹配。如果您需要更復雜的路由行為,請改用該ProxyPassMatch指令。這等效于ProxyPass但將傳入的 URL 與正則表達式匹配:

ProxyPassMatch ^/client/(.*)/images$ http://192.168.0.1/

保存您的虛擬主機文件并使用a2ensite命令啟用它。這采用相對于sites-available目錄的文件的基本名稱:

sudo a2ensite example-proxy-vhost

重新啟動 Apache 以應用您的更改:

sudo service apache2 restart

您的簡單代理現在應該可以運行了。嘗試訪問example.com- 您應該會看到192.168.0.1. 該請求在您的 Apache 主機處終止,然后將其代理到您的內部服務器。

使用 SSL

上面的示例省略了 SSL。在生產工作負載中,您希望通過向 虛擬主機添加SSLCertificateFile和SSLCertificateKeyFile設置來進行設置。這些指定驗證 SSL 連接時要使用的 SSL 證書和密鑰。您還可以使用 Let’s Encrypt 的certbot 來自動設置。

以這種方式配置 SSL 意味著安全連接將在您的 Apache 主機上終止。Apache 和您的代理目標之間的連接將通過純 HTTP 進行。

如果您需要代理連接固定也一樣,你必須使用SSLProxy選項提供mod_ssl。SSLProxyEngine = On將作為最基本的配置工作,前提是 Apache 和您的代理目標服務器都可以訪問相同的證書。此選項指示通過代理連接提供 SSL 信息。

代理選項

Apache 反向代理有幾個可用于調整轉發行為的可選指令。以下是一些常用的選項:

  • ProxyAddHeaders–默認情況下,Apache將X-Forwarded-Host、XForwarded-For和X-Forwarded-Serverheaders傳遞給您的后端服務器。這些讓您的后端識別請求是通過 Apache 代理的。設置此標頭以Off防止 Apache 添加這些標頭。
  • ProxyErrorOverride– Apache 不會干擾后端服務器發送的響應,除非有指示。如果您的后端提供 400、404、500 或任何其他錯誤代碼,用戶將按原樣接收該內容。設置ProxyErrorOverride改變了這一點,讓阿帕奇替換錯誤頁面的內容配置ErrorDocument來代替。在您希望通過集中在代理主機上的配置統一處理所有后端的錯誤的情況下,這可能是可取的。
  • ProxyPassReverseCookieDomain–此功能類似于強制(用于反向代理)ProxyPassReverse指令。它將重寫Set-Cookie標頭中的域以引用虛擬主機的名稱,而不是它們源自的后端服務器的主機名。
  • ProxyPreserveHost– Apache通常將其自己的主機名作為Host標頭的值發送到您的后端服務器。設置此指令意味著將發送原始 Host標頭。當您的后端軟件執行其自己的基于主機名的路由時,這可能是必要的。
  • ProxyTimeout– 使用此指令來調整 Apache 在后端服務器處理代理請求時等待的時間。如果超時,Apache將中止請求并向客戶端返回錯誤代碼。它默認為服務器級別的Timeout值。

您可以將這些指令設置為虛擬主機文件中的附加行。記住每次應用更改時都要重新啟動 Apache 服務。

負載均衡

Apache 的反向代理實現還支持多個不同后端之間的負載平衡。這允許請求訪問example.com平衡池中的任何服務器。

<Proxy balancer://example-balancer>    BalancerMember http://192.168.0.1    BalancerMember http://192.168.0.2    ProxySet lbmethod=bytraffic</Proxy>ProxyPass / balancer://example-balancerProxyPassReverse / balancer://example-balancer

此示例將請求路由到example-balancer池中的兩臺服務器之一。的負載平衡算法是由定義的lbmethod設置; bytraffic此處使用的值試圖確保每個服務器處理相同數量的流量。

另一種方法 byrequests balancing method是更簡單的 bytraffic 版本,它為每個后端提供相等的傳入請求份額。該 bybusyness balancer軌道有多少要求每個后端是服務,然后分配新的到最“忙碌”的后端。

概括

該mod_proxy模塊可以將 Apache 變成一個反向代理主機,允許您使用基于名稱的路由來訪問多個獨立的服務。您也可以添加負載平衡,通過在您的服務器隊列中分配請求來確保穩定性和正常運行時間。

其他代理口味也可用。您可以代理 FTP、WebSocket 和 HTTP2 連接等,方法是在mod_proxy. 完整的模塊列表可在 Apache 文檔中找到。

到此這篇關于如何使用 Apache 設置反向代理的文章就介紹到這了,更多相關Apache 反向代理內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
主站蜘蛛池模板: elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 24位ADC|8位MCU-芯易德科技有限公司 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 高压包-点火器-高压发生器-点火变压器-江苏天网 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 科客,主见不成见| 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | 工业设计,人工智能,体验式3D展示的智能技术交流服务平台-纳金网 J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 计算机毕业设计源码网| 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 微学堂-电动能源汽车评测_电动车性能分享网 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 |