[每周一更]-(第79期):Apache代理的配置

news2024/11/27 10:43:41

在这里插入图片描述

反向代理逻辑类似Nginx,以下具体展示属于apache的配置和参数说明

局部代理配置方式:

# 配置包含https的需要打开
SSLProxyEngine on
ProxyPass /api/small https://api.web.com/version1/small/
ProxyPassReverse /api/small https://api.web.com/version1/small/

配置80端口

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/var/www/html/gkmobile/public"
    ServerName web.com
    ServerAlias *.web.com
    #RedirectMatch ^/$ https://*.web.com
    ErrorLog "logs/web.com-error_log"
    CustomLog "logs/web.com-access_log" common

    ProxyPass /api.php/ http://$host_ip.web.com/
    ProxyPassReverse /api.php/ http://$host_ip.web.com/
</VirtualHost>

配置443端口,详细的关于PHP Laravel项目,泛域名中配置证书+反向代理+请求头


# web 泛域名
<VirtualHost *:443>
    DocumentRoot "/var/www/html/gkmobile/public"
    ServerName web.com:443
    ServerAlias *.web.com:443
    Header set Access-Control-Allow-Origin "http://x.x.x.x"
    Header set Access-Control-Allow-Origin "http://xx.web.cn"
    Header set Access-Control-Allow-Origin "https://xx.web.net"

    ErrorLog "logs/web.com-error_log"
    CustomLog "logs/web.com-access_log" common
    LogLevel warn

    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/httpd/conf/web-ssl/web.com.cer
    SSLCertificateKeyFile /etc/httpd/conf/web-ssl/web.com.key
    SSLCertificateChainFile /etc/httpd/conf/web-ssl/fullchain.cer

    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
    </Files>

    <Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    CustomLog logs/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    SSLProxyEngine on
    ProxyPass /api/small https://api.web.com/version1/small/
    ProxyPassReverse /api/small https://api.web.com/version1/small/

</VirtualHost>

说明

apache 版本

httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 16 2020 16:18:20

参数

Apache 的反向代理配置主要使用 mod_proxy 模块,其中包括一些重要的指令用于定义代理规则。以下是一些常用的反向代理指令及其说明:

  • ProxyPass:

说明: 用于定义需要被代理的 URL。
示例:
ProxyPass "/app" "http://backend-server/"

  • ProxyPassReverse:

说明: 用于修正后端服务器发送的 HTTP 头中的 Location 和 URI 等信息,确保客户端能正确解析。
示例:

ProxyPassReverse "/app" "http://backend-server/"
  • ProxyPreserveHost:

说明: 用于保留客户端发送的 Host 头,防止后端服务器收到的请求中 Host 头被修改。
示例:

ProxyPreserveHost On
  • ProxyTimeout:

说明: 定义代理请求的超时时间。
示例:

ProxyTimeout 60
  • ProxyPassMatch:

说明: 允许使用正则表达式匹配 URL,并将匹配的请求代理到后端服务器。
示例:

ProxyPassMatch "^/(.*\.php(/.*)?)$" "fcgi://localhost:9000/var/www/html/"
  • ProxyErrorOverride:

说明: 用于在代理错误时显示自定义错误页面,而不是默认的错误页面。
示例:

ProxyErrorOverride On
  • ProxyVia:

说明: 向后端服务器发送 Via 头,其中包含 Apache 的版本信息。
示例:

ProxyVia On
  • ProxyBadHeader:

说明: 用于阻止包含无效字符的请求头传递给后端服务器。

ProxyBadHeader Error 400
  • BalancerMember:

说明: 用于定义负载均衡集群中的成员。
示例:

<Proxy balancer://mycluster>
BalancerMember http://backend1.example.com
BalancerMember http://backend2.example.com
</Proxy>
  • SSLProxyEngine:

说明: 用于启用或禁用 SSL 代理功能。
示例:

SSLProxyEngine On|Off

参考地址

  • apache mod_proxy
  • apache
  • apache reverse proxy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1341857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP MD04界面中增加功能按钮

通常在查看物料需求时,PMC用的最多的就是MD04的界面,在MD04界面中有很多的功能按钮,同时我们还可以新增功能按键的跳转。 1、我们先设置一下系统标准的在MD04界面中增加跳转的按钮 如下图:自有收藏夹—导航参数文件—维护 然后在MD04的界面中就可以看到我们刚才加的MM0…

3、Git分支操作与团队协作

Git分支操作 1.什么是分支2. 分支的好处3. 分支的操作3.1 查看分支3.2 创建分支3.3 切换分支3.4 修改分支3.5 合并分支3.6 产生和解决冲突 4. 创建分支和切换分支图解5. Git团队协作机制团队内协作跨团队协作 均在git bash中进行操作。事先建好本地工作库 1.什么是分支 在版本…

零代码也能玩出花:Mugeda在H5设计中的魔法力量

文章目录 一、Mugeda零代码可视化H5设计工具简介二、Mugeda零代码可视化H5设计实战案例1. 注册并登录Mugeda账号2. 选择模板3. 编辑页面内容4. 添加动画效果5. 预览和发布 三、Mugeda零代码可视化H5设计的优势《Mugeda零代码可视化H5设计实战》内容简介作者简介目录前言/序言 随…

首发卡密引流系统 支持短视频点赞/关注获取卡密

搭建教程&#xff1a; 环境要求&#xff1a;Nginx、MySQL 5.6、PHP 5.6 步骤&#xff1a; 将压缩包解压至网站根目录。 打开域名/install&#xff0c;按照提示填写数据库信息进行安装。 管理后台&#xff1a; URL&#xff1a;域名/admin 账号密码&#xff1a;admin/123456 …

程序员实现财富自由的十种方法!

程序员肯定都有过一夜暴富的梦想&#xff0c;也许是兼职接单&#xff0c;也许是成为炙手可热的大网红&#xff0c;也许只是平凡的中张百万大奖彩票…… 除去运气超好实力拔群以外&#xff0c;大多数程序员是很难在短时间内实现财富自由的。虽是如此&#xff0c;但搞钱对于程序…

Linux系统下隧道代理HTTP

在Linux系统下配置隧道代理HTTP是一个涉及网络技术的话题&#xff0c;主要目的是在客户端和服务器之间建立一个安全的通信通道。下面将详细解释如何进行配置。 一、了解基本概念 在开始之前&#xff0c;需要了解几个关键概念&#xff1a;代理服务器、隧道代理和HTTP协议。代理…

河南:女子一家八口住酒店223天,每天房费1000块,决定住一辈子

河南这家人可真是会享受生活啊&#xff01;卖掉房子住酒店&#xff0c;一辈子不买房&#xff0c;每天只花1000块&#xff0c;这是你梦想中的生活吗&#xff1f;&#x1f602; 他们一家人八口&#xff0c;从老到小&#xff0c;都住在酒店里。说真的&#xff0c;这可真是让人羡慕…

关于Echarts的重要属性总结

概要 1.设置图例字体颜色&#xff1a; legend: {//添加位置如下textStyle: {color: #fff // 设置图例文字颜色为白色}} 2.设置序列颜色&#xff1a; series: [{ // 添加位置如下itemStyle: { color: #FFA500 // 设置序列Series颜色}] 3.设置坐标轴单位&#xff1a; xAx…

分享好用的chatgpt

1.在vscode中&#xff0c;点击这个&#xff1a; 2.搜索&#xff1a;ChatGPT - 中文版&#xff0c;个人觉得这个更好用&#xff1a; 3.下载完成之后&#xff0c;左侧会多出来这个&#xff1a; 点击这个图标就能进入chatgpt界面了 4.如果想使用tizi访问国外的chatgpt&#xf…

Android apk安装包反编译——apktool工具

目录 一、apk 文件结构二、下载 apktool三、 使用 apktool 反编译 apk四、编译为apk五、apk签名1.生成密钥库2.使用 v1 签名3.使用 v2 签名 六、Dex 加解密原理 一、apk 文件结构 首先是 apk&#xff0c;即安卓程序的安装包。Apk 是一种类似于 Symbian Sis 或 Sisx 的文件格式…

Unity TextMeshPro中文字体的转换与显示

Unity TextMeshPro功能非常强大&#xff0c;但是我们用默认的字体格式却无法显示中文&#xff0c;必须把字体转换之后才能正常显示中文。 具体转换方法&#xff1a; 1、准备好字体&#xff0c;ttf或otf格式都可以&#xff0c;如&#xff1a;SOURCEHANSANSCN-NORMAL.OTF 2、准…

maven阿里源找不到指定jar包解决方案

到这里去找&#xff1a; https://mvnrepository.com/ 例如你要找&#xff1a;spring-boot-starter-web 复制坐标即可。IDEA会去坐标自带的网址寻找资源&#xff0c;可能会慢一点。

【Vue3】创建项目的方式

1. 基于 vue-cli 创建 ## 查看vue/cli版本&#xff0c;确保vue/cli版本在4.5.0以上 vue --version## 安装或者升级你的vue/cli npm install -g vue/cli## 执行创建命令 vue create vue_test本质上使用webpack&#xff0c;默认安装以下依赖&#xff1a; 2. 基于 vite 创建 官…

VLAN简介

在配置交换机或者传输设备时&#xff0c;经常会提到vlan&#xff0c;这个vlan具体是啥呢&#xff1f; VLAN&#xff08;Virtual Local Area Network&#xff09;中文名为“虚拟局域网”。它是一种在物理网络上划分出逻辑网络的方法&#xff0c;将物理上的局域网在逻辑上划分为多…

基于Java SSM框架实现人才小区公寓社区物业管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现人才小区公寓社区物业管理系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个人才公寓管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff…

边缘计算网关在温室大棚智能控制系统应用,开启农业新篇章

项目需求 ●目前大棚主要通过人为手动控温度、控水、控光照、控风&#xff0c;希望通过物联网技术在保障产量的前提下&#xff0c;提高作业效率&#xff0c;降低大棚总和管理成本。 ●释放部分劳动力&#xff0c;让农户有精力管理更多大棚&#xff0c;进而增加农户收入。 ●…

vue2实现手写签批

手写签名 一、安装二、引入三、使用 vue-signature-pad 完成签批功能四、解构出data为base64编码的图片一、图片实现横屏 使用案例图 一、安装 npm i vue-signature-pad2.0.5 // vue2适用的版本二、引入 *mian.js* import VueSignaturePad from vue-signature-padVue.use(V…

AI时代下,如何看待“算法利维坦”?

ChatGPT的浪潮从2022年袭来后&#xff0c;至今热度不减&#xff0c;呈现出蓬勃发展的趋势。AI家居、医疗、教育、金融、公益、农业、艺术......AI真的已经走进了生活的方方面面&#xff0c;我们仿佛已经进入了AI时代&#xff0c;势不可挡。人工智能水平如此之高&#xff0c;不禁…

【每日一题】收集巧克力

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;枚举操作数 写在最后 Tag 【枚举】【数组】【2023-12-28】 题目来源 2735. 收集巧克力 题目解读 有长度为 n, 下标从 0 开始的整数数组 nums, 表示收集不同类型的巧克力的成本. nums[i] 表示收集类型 i 巧克力的成本…

机器视觉——cv2窗口

1、窗口控制 1.1 创建窗口 cv2.imshow()函数在显示图像时&#xff0c;指定的窗口如果不存在&#xff0c;则会按默认设置创建一个窗口&#xff0c;窗口大小由图像大小决定&#xff0c;且不能更改。 cv2.nameWindow()函数用于创建窗口&#xff0c;格式如下&#xff1a; cv2.n…