首页 > 代码库 > HTTPS部署笔记

HTTPS部署笔记

  1. 网站内所有的资源调用必须全部为HTTPS可访问

  2. 页面链接本站采用相对路径(如http://www.abc.com/index.html,则链接改为/index.html)

  3. 非本站资源如www.abc.com加载image.abc.com,则链接采用//image.abc.com/xxxx/xxx.jpg,而不是http://image.abc.com/xxxx/xxx.jpg或者https://image.abc.com/xxxx/xxx.jpg.注意image.abc.com此时也要能通过HTTPS加载


针对有些站点为了节省证书成本或者其他原因,只有一个站点,同时也加载了其他站点的图片,则我们的处理就是


图片原访问地址为

http(s)://image.abc.com/xxxx/xxx.jpg

现在改为

http(s)://www.abc.com/img/image.abc.com/xxxx/xxx.jpg


Haproxy的配置文件如下

acl www_abc hdr_reg(host) -i ^(www.abc.com)$
acl wabc_image path_beg -i /img/image.abc.com
reqrep ^Host:\ www.abc.com Host:\ image.abc.com if www_abc wabc_image

use_backend www_abc_com if www_abc  !wabc_image


acl image_abc hdr_reg(host) -i ^(image.abc.com)$

use_backend image_abc_com if image_abc


backend www_abc_com

    server s1 192.168.10.1:80 check port 80

    server s2 192.168.10.2:80 check port 80


backend image_abc_com

    reqrep ^([^\ ]*\ )/img/([a-zA-Z0-9.]*)/(.*)\ (.*)  \1/\3\ \4

    server img1 192.168.10.11:80 check port 80

    server img2 192.168.10.12:80 check port 80



Nginx的配置则为

        location ~* /img/(.*).com/ {
                set $host_name $1;
                rewrite /img/(.*).com/(.*)$ /$2 break;
                proxy_set_header Host $host_name.com;
                proxy_pass http://192.168.10.11;
        }


本文出自 “枫林晚” 博客,请务必保留此出处http://fengwan.blog.51cto.com/508652/1870270

HTTPS部署笔记