手动配置httpd(Apache)反代的过程与坑

这也算是半个教程吧,主要是把过程记录下来,防止再次掉坑。

平时各种一键工具用惯了,很少自己写配置项,所以老是会掉坑。写了几次一键脚本,自认为应该会更加了解这些软件,但是再次掉坑了。

首先,打开httpd.conf中相关的模块:

  • proxy_module
  • proxy_connect_module
  • proxy_http_module
  • proxy_http2_module

方法是去掉相关行的#注释符。

然后,写虚拟主机配置,这个看你自己放哪了,要在httpd.conf里事先配置引用,一般而言都知道,我就不说了。

<VirtualHost *:443>
    ServerName example.com
    
    SSLEngine on
    SSLProxyEngine on
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLCertificateFile ""
    SSLCertificateKeyFile ""
    SSLCertificateChainFile ""

    ProxyPass / https://localhost:8080/
    ProxyPassReverse / https://localhost:8080/
</VirtualHost>

重点说一下四个配置:

  • SSLProxyEngine on
  • SSLProxyVerify none
  • SSLProxyCheckPeerCN off
  • SSLProxyCheckPeerName off

第一个是打开代理的SSL支持,第二个禁用代理SSL验证(合法性),第三个和第四个也是关闭SSL相关验证。如果没有这些,你将会要部署各种各样乱七八糟的东西,如果是本地环境不如直接禁用。

其他配置都很常规,主要是你要代理的URL是SSL的话,就必须设置那四项,否则大概率会500错误。

很简单,但是有坑,我查了各种资料才找到合适的解决方案,估计这个花了我1小时,太苦了。

发表评论