Apache搭建反向代理用Http访问Https站点

来源:互联网 发布:淘宝全球买手是真的吗 编辑:程序博客网 时间:2024/05/22 06:39

急活,就学习了一下这个主题的东东,看了很多文章,发现每篇文章只能采纳部分,在这里综合一下:

如果要搭建Apache的反向代理并实现Https网站的访问,按照下面的步骤:

1、下载apache httpd

下载可以在官网上找到,不过需要注意的是因为涉及https的访问,所以需要下载那种包含SSL的,不然后面就会失败的哦。

2、安装

没啥特别的

3、生成各种证书(https)

如果下载的是带有SSL的那种apache那么就可以在安装目录下找到openssl.exe这个文件,我们用这个文件来生成https访问是需要的证书

1)生成服务器Apache的RSA私钥server.key:

      命令:openssl genrsa -out server.key 1024

2)生成签署申请server.csr

      命令:openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf 

      注:这一步会需要输入,国家,地区(省市),公司,部门,姓名,邮箱的信息,还有一个密码。我胡填的,但是好像也没用,简单易记就行。

3)通过CA为网站服务器签署证书:

      命令1-生成CA私钥:openssl genrsa -out ca.key 1024

      命令2-利用CA私钥生成CA的自签署证书:openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf

           注:这步要填写信息,同上

      命令3-CA为网站服务器签署证书:

           在bin目录下创建demoCA,里面创建文件index.txt和serial以及文件夹newcerts,serial内容为01,其他为空。再执行下面的命令,生成server.crt文件

           openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf

4)复制文件:

      将server.crt,server.key,ca.key复制到apache的conf文件夹下。原因:待查。

4、修改配置文件:

1)修改httpd.conf

      a、去掉如下语句的注释:

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule rewrite_module modules/mod_rewrite.soLoadModule ssl_module modules/mod_ssl.so

       b、添加如下语句:

<VirtualHost *:80>    <IfModule mod_proxy.c>        ProxyRequests Off        SSLProxyEngine on    </IfModule>    ServerName 127.0.0.1:80    ServerAdmin webmaster@localhost    ProxyPass / https://login.taobao.com/    ProxyPassReverse / https://login.taobao.com/</VirtualHost>
       c、确认使用ssl.conf

         即有如下语句:

<IfModule mod_ssl.c>    Include conf/ssl.conf</IfModule>

2)修改ssl.conf

     a、确保证书们的位置路径正确,我只用了下面三个:

SSLCertificateFile conf/server.crtSSLCertificateKeyFile conf/server.keySSLCertificateChainFile conf/ca.crt

      b、注意ServerName的定义:

<VirtualHost *:443>ServerName 127.0.0.1:443

5、重启Apache,访问测试,访问http://127.0.0.1/时,浏览器会显示https://login.taobao.com/的页面。


原创粉丝点击