Apache(httpd)实现反向代理
因为这篇文章是Apache(httpd)的教程,配置了多域名SSL配置
Chrome访问 https://woodtechblog.tk/ 443端口
Chrome访问 http://woodtechblog.tk/ 80端口
解释一下 通过域名访问网站 http 走的是80端口,https 走的是443端口
得出结论:配置的Apache(httpd) 只监听端口 80 和 443
前一篇教程已经部署了SpringBoot应用hello-0.0.1-SNAPSHOT.jar (更多SpringCloud微服务架构教程)
http://www.woodtechblog.tk:8080/hello/小伍 http可以访问
---------------------------------------------------------------
疑问:不是说Apache(httpd)只接受 80 和 443 端口的请求吗,为什么http可以访问?
-> 因为是8080端口是SpringBoot应用自带的Tomcat中部署的,所以你访问的是Tomcat服务器
---------------------------------------------------------------
https://www.woodtechblog.tk:8080/hello/小伍 https访问不了
这个问题怎么解决?-> 反向代理技术
一般企业都是用 Nginx作为反向代理,但是我已经配置了Apache不想改了,Apache也可以实现相同的功能
修改 /etc/httpd/httpd.conf (apache2.2 /etc/httpd/conf/httpd.conf)CentOS
-----------------拓展内容-------------------
Mac自带Nginx和Apache
Nginx目录及常用命令(下载的Nginx需要编译才能运行哦,去根目录下运行 ./configure 编译Nginx,需要 gcc 的支持):
/usr/local/etc/nginx
start nginx
nginx -s stop
nginx -s reload
Apache httpd目录及常用命令:
/etc/apache2/
sudo apachectl start
sudo apachectl stop
sudo apachectl restart
------------------------------------------
确保195~196没有注释
在文件末尾追加反向代理配置
#反向代理
ProxyRequests Off
ProxyPass /ability/payment http://127.0.0.1:8821/payment
ProxyPassReverse /ability/payment http://127.0.0.1:8821/payment
ProxyPass /payment/notify http://127.0.0.1:8080/payment/notify
ProxyPassReverse /payment/notify http://127.0.0.1:8080/payment/notify
<proxy *>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>
配置完成后记得重启Apache httpd
service httpd restart