Docker httpd(2.4) http/https 反向代理

背景:
在Apache httpd2.4中 使用本地域名进行http/https 反向代理跳转
WIN10 docker安装

操作过程
1.下载httpd docker 镜像

docker pull httpd
docker pull httpd 
docker pull httpd

2.启动docker httpd容器

docker run -dit --name apache-test -p 30001:80 httpd
docker run -dit --name apache-test -p 30001:80 httpd 
docker run -dit --name apache-test -p 30001:80 httpd

3.进入docker容器

docker <span class="token function">exec</span> -it <span class="token punctuation">{<!-- --></span>容器ID<span class="token punctuation">}</span> <span class="token function">bash</span>
docker <span class="token function">exec</span> -it <span class="token punctuation">{<!-- --></span>容器ID<span class="token punctuation">}</span> <span class="token function">bash</span> 
docker exec -it {容器ID} bash

4.安装vim插件

<span class="token function">apt-get</span> update <span class="token function">apt-get</span> -y <span class="token function">install</span> vim
<span class="token function">apt-get</span> update <span class="token function">apt-get</span> -y <span class="token function">install</span> vim 
apt-get update apt-get -y install vim

5.修改httpd.conf文件

vim /usr/local/apache2/conf/httpd.conf
vim /usr/local/apache2/conf/httpd.conf 
vim /usr/local/apache2/conf/httpd.conf

进行http跳转
a.开启服务-将下列注释掉的服务进行开启

LoadModule proxy_module libexec/apache2/mod_proxy.so LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_module libexec/apache2/mod_proxy.so LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so 
LoadModule proxy_module libexec/apache2/mod_proxy.so LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so

b.添加VirtualHost配置
在httpd.conf 最下面追加配置

<span class="token operator"><</span>VirtualHost *:80<span class="token operator">></span> ServerName loaclhost ProxyRequests off Header <span class="token keyword">set</span> Access-Control-Allow-Origin * <span class="token operator"><</span>Proxy *<span class="token operator">></span> Order deny,allow Allow from all <span class="token operator"><</span>/Proxy<span class="token operator">></span> <span class="token operator"><</span>Location /<span class="token operator">></span> ProxyPass http://跳转到域名地址/ //例如www.baidu.com ProxyPassReverse http://跳转到域名地址/ //例如www.baidu.com <span class="token operator"><</span>/Location<span class="token operator">></span> <span class="token operator"><</span>/VirtualHost<span class="token operator">></span>
<span class="token operator"><</span>VirtualHost *:80<span class="token operator">></span> ServerName loaclhost ProxyRequests off Header <span class="token keyword">set</span> Access-Control-Allow-Origin * <span class="token operator"><</span>Proxy *<span class="token operator">></span> Order deny,allow Allow from all <span class="token operator"><</span>/Proxy<span class="token operator">></span> <span class="token operator"><</span>Location /<span class="token operator">></span> ProxyPass http://跳转到域名地址/ //例如www.baidu.com ProxyPassReverse http://跳转到域名地址/ //例如www.baidu.com <span class="token operator"><</span>/Location<span class="token operator">></span> <span class="token operator"><</span>/VirtualHost<span class="token operator">></span> 
<VirtualHost *:80> ServerName loaclhost ProxyRequests off Header set Access-Control-Allow-Origin * <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass http://跳转到域名地址/ //例如www.baidu.com ProxyPassReverse http://跳转到域名地址/ //例如www.baidu.com </Location> </VirtualHost>

进行https跳转
a.开启服务-将下列注释掉的服务进行开启

LoadModule ssl_module modules/mod_ssl.so LoadModule proxy_module libexec/apache2/mod_proxy.so LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so LoadModule proxy_module libexec/apache2/mod_proxy.so LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so 
LoadModule ssl_module modules/mod_ssl.so LoadModule proxy_module libexec/apache2/mod_proxy.so LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so

b.添加VirtualHost配置
在httpd.conf 最下面追加配置

<span class="token operator"><</span>VirtualHost *:80<span class="token operator">></span> ServerName loaclhost SSLProxyEngine On ProxyRequests Off Header <span class="token keyword">set</span> Access-Control-Allow-Origin * <span class="token operator"><</span>Proxy *<span class="token operator">></span> Order deny,allow Allow from all <span class="token operator"><</span>/Proxy<span class="token operator">></span> ProxyPass / https://www.baidu.com/ ProxyPassReverse / https://www.baidu.com/ <span class="token operator"><</span>/VirtualHost<span class="token operator">></span>
<span class="token operator"><</span>VirtualHost *:80<span class="token operator">></span> ServerName loaclhost SSLProxyEngine On ProxyRequests Off Header <span class="token keyword">set</span> Access-Control-Allow-Origin * <span class="token operator"><</span>Proxy *<span class="token operator">></span> Order deny,allow Allow from all <span class="token operator"><</span>/Proxy<span class="token operator">></span> ProxyPass / https://www.baidu.com/ ProxyPassReverse / https://www.baidu.com/ <span class="token operator"><</span>/VirtualHost<span class="token operator">></span> 
<VirtualHost *:80> ServerName loaclhost SSLProxyEngine On ProxyRequests Off Header set Access-Control-Allow-Origin * <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / https://www.baidu.com/ ProxyPassReverse / https://www.baidu.com/ </VirtualHost>

6.保存退出httpd.conf
7.重启docker容器
8.测试http://localhost:38001
在这里插入图片描述

原文链接:https://blog.csdn.net/hanjupiter/article/details/102712942

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享