Apache 反向代理快速配置

一、Apache反向代理应用场景

        假如我有一个API是用Node.js所写,在5000端口,而又想让用户通过80或者443端口(这两个商品已被Apache占用)来访问指定API,这时就需要用到Apache反向代理。这里以centos系统为例。

二、通过80端口访问

  1. 修改Apache配置文件,打开proxy相关模块。具体为:proxy_module 、proxy_http_module 、proxy_balancer_module(最后一个是负载平衡的,暂时用不上)。注意,在Mac本地中打开为取消前面的注释,在centos中默认这些模块已经打开,可以使用 httpd -M 查看。
  2. 增加或者修改虚拟主机配置 ,最好修改前使用cp命令备份。使用如下命令:sudo nano /etc/httpd/conf.d/default-site.conf。这里如果没有虚拟主机定义,在配置文件的最后增加以下代码,如果有,就修改对应内容。
<VirtualHost *:80>
    Servername localhost
    ProxyPreserveHost On
    ProxyPass /token http://localhost:5000/token
    ProxyPassReverse /token http://localhost:5000/token
</VirtualHost>
  1. 检查、重启
apachectl configtest
sudo apachectl restart

三、通过443端口访问(https)

  1. 同80端口。修改Apache配置文件,打开proxy_module 、proxy_http_module 、proxy_balancer_module 模块。
  2. 改对应目录下的ssl.conf。对照修改以下内容:
<VirtualHost *:443>
    Servername severname
    ProxyPreserveHost On
    ProxyPass /token http://localhost:5000/token
    ProxyPassReverse /token http://localhost:5000/token
</VirtualHost>
  1. 检查、重启(同上)
apachectl configtest
sudo apachectl restart


发布了15 篇原创文章 · 获赞 0 · 访问量 553

猜你喜欢

转载自blog.csdn.net/weixin_39430411/article/details/103913514
今日推荐