Apache 设置反向代理 http、https,apachehttps


在安装好apache(已配置好https),配置好tomcat的前提下:


1)、首先确保Apache有这些模块,在Apache根目录下确认有这些模块,主要包含以下模块:

    mod_proxy.so

    mod_proxy_ajp.so

    mod_proxy_balancer.so

    mod_proxy_connect.so

    mod_proxy_http.so

           mod_slotmem_shm.so

    打开配置conf/httpd.conf文件,将这些模块的注释去除.

2 )、修改配置文件,打开文件  conf/httpd.conf  ,在文件末尾加上如下配置:


    <VirtualHost *:80>
ServerAdmin 你的网址
ServerName  你的网址
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
ProxyPass /abc http://127.0.0.1:12000/abc/
ProxyPassReverse /abc http://127.0.0.1:12000/abc/
ProxyPass / http://127.0.0.1:8011/
ProxyPassReverse / http://127.0.0.1:8011/

    </VirtualHost>

      注意: /abc  必须放在 /  的前面进行配置(有优先级关系),否则无法访问 http://你的网址/abc . 

3)、修改配置文件,打开文件  conf/httpd.conf  将

        Include conf/extra/httpd-ssl.conf   前面的#去掉

4)、修改配置文件, 打开文件 conf/extra/httpd-ssl.conf 

    <VirtualHost _default_:443>

        ServerAdmin 你的网址
ServerName 你的网址
        SSLEngine on
        SSLProxyEngine On
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

        SSLProxyVerify none

SSLCertificateFile cert/你的证书.pem
SSLCertificateKeyFile cert/你的证书.key

SSLCertificateChainFile cert/你的证书.pem

        <Proxy *>
           Order deny,allow
           Allow from all
        </Proxy>
        ProxyPreserveHost On
        ProxyRequests Off
ProxyPass /abc https://127.0.0.1:12443/abc/
ProxyPassReverse /abc https://127.0.0.1:12443/abc/
        ProxyPass /  https://127.0.0.1:8443/
        ProxyPassReverse / https://127.0.0.1:8443/

    </VirtualHost>


    注意 SSLProxyCheckPeerCN Off

    SSLProxyCheckPeerName Off

     这两句很重要,否则会报

Proxy Error

The proxy server could not handle the request GET /.

Reason: Error during SSL Handshake with remote server




 

相关内容

    暂无相关文章