os:Windows 10
Apache:2.4.29
Tomcat:8.0.30
Windows版本下载地址:https://www.apachehaus.com/cgi-bin/download.plx
下载完成后,解压到自定义路径下即可。
目录结构:
在Apache安装路径下的conf/extra/httpd-vhosts.conf配置文件中添加下面内容:
#监听的服务器和端口
ServerAdmin [email protected]
DocumentRoot "C:/Users/Admin/Desktop" #静态资源目录
ServerName localhost #域名
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
ProxyPreserveHost On
ProxyPass /ds-apache-web/ http://192.168.6.251:8082/ds-apache-web/ #反向代理的地址
ProxyPassReverse /ds-apache-web/ http://192.168.6.251:8082/ds-apache-web/ #反向代理的地址
在Apache安装路径下的conf/httpd.conf配置文件中,把下面内容前面的注释去掉即可:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Include conf/extra/httpd-vhosts.conf
Listen 80 #Apache监听的端口
ServerName localhost:80 #Apache服务地址和端口
打开cmd,切换到apache安装路径下的bin目录中,执行httpd.exe文件即可。
a)新建maven项目;
b)编写控制器;
package com.dscomm.apache.ctrl;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/index")
public class IndexController {
@RequestMapping("/toIndex")
public void toIndex(HttpServletResponse response) throws IOException {
response.sendRedirect("https://www.baidu.com");
}
}
c)配置web.xml;
Archetype Created Web Application
contextConfigLocation
classpath*:/spring/spring-*.xml
org.springframework.web.context.ContextLoaderListener
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:/spring/spring-mvc.xml
1
springmvc
/
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
characterEncodingFilter
/*
403
/resources/page/page_403.html
404
/resources/page/page_404.html
500
/resources/page/page_500.html
d)在resources目录下添加spring/spring-ctrl-apache.xml配置文件;
e)在resources目录下添加spring/spring-mvc.xml配置文件;
text/html;charset=UTF-8
application/json;charset=UTF-8
f)配置pom.xml;
引入servlet jar和spring基本jar包即可。
访问监听的服务器和端口,上面配置的是192.168.6.251:80;
访问地址:http://192.168.6.251:80/ds-apache-web/index/toIndex
测试结果:该请求会重定向到百度。
说明:该请求地址会被代理成http://192.168.6.251:8082/ds-apache-web/index/toIndex,然后IndexController控制器又重定向到https://www.baidu.com。
《Apache2.4+Tomcat9.0配置反向代理》
《apache配置动静分离,允许跨域,并在反向代理的情况下维持默认主页》
《apache ProxyPass ProxyPassReverse概述》