阿里云oss反向代理设置https

2016年6月25日 1.53k 次阅读 0 条评论 0 人点赞

网站开启了全站ssl,但是以前一些图片资源是放在腾讯云cos的,但是苦于腾讯云无法使用https,所以暂时转向阿里云oss,不过阿里云oss要比腾讯云cos还用好多,各种插件,各种资源也比较多。比较适合菜鸟操作。我的网站是把图片等附件的链接作为子域名操作的,本站使用的是img.shanyemangfu.com。

阿里云oss虽然很简单的可以绑定域名,但是自定义域名是无法使用https,我通过工单系统询问可客服,他们给出的解决方法是:使用cdn或者反向代理。但是沃通证书是不支持阿里云cdn的,或者需要转码,于是我便使用了第二种方法,做反向代理。

当然首先你需要在你的vps上新建一个虚拟主机,这样才可以操作,选择支持ssl的。这个具体步奏就不给大家列出来了,因为每个人的环境不同,操作步骤肯定不同。

关键是反向代理怎么配置,这才是我们关心的问题。

一、当然是去申请证书了,这儿推荐沃通,简单快速,而且可以申请两年。

QQ20160625223214

 

二、代理配置和主机配置

下面我列出一些代码供你参考,因为具体情况可能不一样。

location / {
proxy_pass http://mxk.oss-cn-beijing.aliyuncs.com/;#阿里云
#proxy_pass http://love-10010611.cos.myqcloud.com/;#腾讯云
#proxy_pass http://www.mxke.pw/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

下边我在吧我lnmp环境下的虚拟主机conf文件代码附上,供你参考

 

server {

listen 443 ssl http2;
ssl_certificate /usr/local/nginx/conf/ssl/photo.shanyemangfu.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/photo.shanyemangfu.com.key;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
ssl_session_cache builtin:1000 shared:SSL:10m;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
server_name photo.shanyemangfu.com;
access_log /data/wwwlogs/photo.shanyemangfu.com_nginx.log combined;
index index.html index.htm index.php;
include /usr/local/nginx/conf/rewrite/eee.conf;
root /data/wwwroot/photo.shanyemangfu.com;

#如果主机与bucket不在同一个区域,就得使用外网了的

#proxy_pass http://aialiyun.oss-cn-hangzhou-internal.aliyuncs.com/;

location / {
proxy_pass http://mxk.oss-cn-beijing.aliyuncs.com/;#阿里云
#proxy_pass http://love-10010611.cos.myqcloud.com/;#腾讯云
#proxy_pass http://www.mxke.pw/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name photo.shanyemangfu.com;
rewrite ^/(.*) https://photo.shanyemangfu.com/$1 permanent;
}

但是经过我测试,这些代码可能并不具有通用性,具体情况可能不一样。我在我另一台主机腾讯云主机上,发现这个代码是不正确的,但是我能力有限,所以暂时我不能解释原因。等着我进一步学习之后会写出更详细的教程来解释这个问题。

三、域名解析设置

首先需要到oss控制台添加自定义域名。

菜鸟

文章评论(0)