存档

文章标签 ‘阿里云’

ubuntu中nginx配置ssl证书使用https,外加阿里云cdn配置详解

2019年6月11日 没有评论

在ubuntu系统中nginx配置ssl证书使用https如何操作?

我的操作案例中将http://aaa.com和http://ww.aaa.com解析到了源服务器IP,在源服务器nginx里面http段增加了server如下代码:(代码标记①)

server{
        listen 80;
	#如果域名没使用阿里云cdn,那么此处应该增加一个www.aaa.com
	#不带www和ww解析到了本服务器的80端口,而www解析到了阿里云
	#阿里云ssl证书控制台要将证书部署到cdn
	#阿里云cdn控制台要将源站ip端口改为443,回源配置中的回源SNI要设置为www.aaa.com,https配置中开启强制跳转
	#等于80端口将server_name全部301到443端口
        server_name aaa.com ww.aaa.com;
	rewrite ^(.*) https://www.aaa.com$1 permanent;
}

主要用来将http:// aaa.com和http:// ww.aaa.com自动跳转至https://www.aaa.com(那么此处会遗留一个问题,就是http://www.aaa.com如何跳转至https://www.aaa.com呢?刚刚添加的代码中已经解释了,要开启阿里云cdn的https配置中开启强制跳转),由此就解决了http://aaa.com和http:// ww.aaa.com和http://www.aaa.com全部301跳转至https://www.aaa.com。

需要注意的是,阿里云的配置有几处需要修改:
1,阿里云ssl证书控制台要将证书部署到cdn
2,阿里云cdn控制台要将源站ip端口改为443
3,回源配置中的回源SNI要设置为www.aaa.com
4,https配置中开启强制跳转

好了,接下来就是本机服务器的配置ssl使用https来监听443端口了,到/etc/nginx/conf.d.my目录下(我自己新建的配置文件目录是conf.d.my,利于打理),新建ssl_cert用于存放证书目录,/etc/nginx/conf.d.my/ssl_cert,在nginx的http段中增加相应的server代码:(代码标记②)

server {
	#只监听443 ssl,需要单独加server listen 80
	listen 443 ssl;

	#80和443同时可以访问
	#listen 80;
	#listen 443 default ssl;		

	#nginx 1.15版本如果使用listen 443 ssl,删除ssl on就行了
	#ssl on;

	server_name www.aaa.com;

	ssl_certificate conf.d.my/ssl_cert/www.aaa.com.pem;
	ssl_certificate_key conf.d.my/ssl_cert/www.aaa.com.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;

	root /www/webroot/aaa.com/;
	#下面的代码是我自己的配置,网友需要更改为自己的实际情况
	include /etc/nginx/conf.d.my/server/agent.deny.conf;
	include /www/webroot/aaa.com/.htaccess;
	location / {
		try_files $uri $uri/ =404;
		index index.html index.php index.htm;
	}
	location ~ \.php$ {
		include fastcgi_params;
		include /etc/nginx/conf.d.my/location/fastcgi_params;
		include /etc/nginx/conf.d.my/location/limit_req;
		fastcgi_param PHP_ADMIN_VALUE "open_basedir=/www/webroot/aaa.com/:/tmp/";
	}
	location ~ /\.htaccess {
		deny all;
	}
}

特别注意,上方的代码中:
ssl_certificate conf.d.my/ssl_cert/www.qibangkeji.com.pem;
ssl_certificate_key conf.d.my/ssl_cert/www.qibangkeji.com.key;
不能使用绝对路径,比如不能写成:/etc/nginx/conf.d.my/ ssl_cert/www.qibangkeji.com.pem; 否则会报错。

以上就是ubuntu中nginx配置ssl证书使用https,外加阿里云cdn配置详解。如有错误欢迎指正。

当然,如果不使用阿里云的cdn,就将www和不带www的和ww都解析到源服务器IP,然后修改代码片段①即可:

server{
        listen 80;
        server_name aaa.com ww.aaa.com www.aaa.com;
	rewrite ^(.*) https://www.aaa.com$1 permanent;
}

阿里云正式推出访问控制服务

2016年3月14日 没有评论

  阿里云正式推出访问控制服务。通过访问控制服务,您可以将云账号的权限划分成多个子权限,分配给不同的云资源的管理者,避免多人共享云账号。

为每位员工分配独立的子用户,避免密码共享;
将ECS、RDS等资源授权给运维人员管理;
将费用及订单管理权限分配给您的财务人员;
创建权限受限的AccessKey,仅允许访问指定的云存储;
启用多因素认证,登录时验证手机端动态口令,密码丢失也不怕;
通过设置IP访问策略,限制仅允许在您的企业网络中管理云资源;
将云存储的访问权限授权给移动APP;

产品概述
https://www.aliyun.com/product/ram
快速入门视频教程
https://help.aliyun.com/video_detail/13063615.html
帮助手册:
https://help.aliyun.com/product/8315075_ram.html
支持访问控制服务的云产品
https://help.aliyun.com/knowledge_detail/7598005.html

收费方式
免费

阿里云最新通知,免费版虚机备案拍照背景幕布邮寄规则变更通知

2015年12月8日 没有评论

尊敬的用户:
您好:

自2015年12月15日起,您在阿里云申请的免费版虚机进行网站备案时,阿里云将不再提供免费拍照背景幕布及免费邮寄;您基于免费版虚机进行的网站备案,需支付拍照背景幕布费用并承担邮寄费用。您申请备案时,阿里云亦会提示您购买拍照背景幕布及邮寄业务。
您在2015年12月15日前申请的免费版虚机,如需在2015年12月15日之后进行网站备案,也需支付上述费用,其他备案规则不变。
敬请周知。
由此带来的不便,敬请谅解。

阿里云ECS使用小贴士

2015年9月15日 没有评论
感谢您信任和选择阿里云ECS服务器,不知道您在购买ECS服务器后的这段时间,是否遇到了一些问题呢?阿里云针对用户使用ECS过程中的常见问题,总结了相关帮助资料,希望在您遇到同类问题时能有所帮助!1. ECS配置升级(如何升级配置?):
升级服务器的CPU和内存,新的配置需要从控制台重启才会生效(服务器重启方法)。升级服务器的磁盘,可实时生效无需重启,但磁盘挂载到服务器后,服务器内部依然需要对磁盘做分区、格式化挂载之后方可使用,目前仅支持数据盘升级。
Windows服务器的操作| linux服务器的操作
升级服务器的带宽,可实时生效无需重启,但如果您之前公网带宽是0M,那么升级之后依然需要从控制台重启,以便完成公网IP地址的配置(服务器重启方法)。
如何续费  |  如何续费变配
Tips:如果您通过续费变配来进行升级,新的配置需要在您现有订单到期之后才会生效。
2. 安全相关:服务器被肉鸡了怎么办?
如果服务器被肉鸡,建议您立即修改服务器密码,安装杀毒软件进行全盘查杀,并开启云盾的全部防护(开通方法)。除此之外,您还可以选择回滚磁盘快照到您ECS正常的时候。请注意:数据也会回滚到您回滚时间点的数据。如果最早的时间点快照也被入侵了,您可以重置系统或数据盘,重置时磁盘数据会被清空,强烈建议您提前备份好数据到本地或者OSS上。(更多处理方法)
服务器被攻击了怎么办?
阿里云服务器默认开启云盾,可以抵御一定量的DDOS攻击,除此之外您如果运行着网站,您还可以免费开启Web攻击防护。
如何查看DDOS防护| 如何开启Web攻击防护|云盾控制台帮助手册3. 常见ECS异常排查:
使用云监控来监控服务器异常:
云监控CMS(cloud monitor system)是一个开放性的监控平台,可实时监控您的站点和服务器负载情况,并提供多种告警方式(短信,旺旺,邮件,回调接口)
安装云监控组件|云监控用户手册下载服务器无法远程登录了怎么办?
服务器无法远程登录时,可以通过管理终端连接到服务器来进一步排查。
如果管理终端也无法连接和登陆到系统,那么系统可能已经宕机了,您可以通过控制台重启服务器再测试一下。
如果管理终端可以连接,一般可能是网络、安全策略或者远程服务的问题导致无法远程,您可以通过以下链接查看排查步骤:
Windows 无法远程|Linux无法远程
如何通过终端管理服务器(马上查看)
ECS服务器连接管理终端使用包括但不限于以下场景
1)     服务器引导速度慢,  如启动自检,用户可以通过连接管理终端查看进度;
2)     用户服务器内部软件设置错误导致无法远程连接(防火墙设置出错),用户可以通过连接管理终端进入后重新设置防火墙;
3)     应用消耗CPU/带宽比较高,导致无法远程(被肉鸡,进程cpu/带宽跑满),用户可以通过连接管理终端进入登录杀掉异常进程等。常见异常排查思路:
ECS 带宽跑满的检查思路|ECS CPU跑满的检查思路|更多云服务器异常的最佳实践使用第三方运维服务:
第三方运维服务提供基于云服务器的基础运维,包含数据迁移、环境配置、故障排查、安全运维四大类型服务。若您遇到各类异常和日常维护问题,可以选择第三方运维服务,第三方服务商可提供7*24小时专业代维(查看详情)。您可以登录阿里云网站 – 用户中心下的消息中心,在订阅消息中对“使用帮助”进行设置退订本消息。如果您对以上内容存在疑问,也可以通过邮箱service_aliyun@list.alibaba-inc.com向我们反馈。谢谢!
分类: 张宏良张洪量 标签:

看看阿里云的sh脚本代码是怎么写的

2015年7月28日 没有评论

#!/bin/bash

####################################################################

ip_route_helper() {
net1=’100.64.0.0/10′
net2=’11.0.0.0/8′

gw=$(ip r get 10.0.0.0 | awk ‘/via/ {print $3}’)

[[ -z “$gw” ]] && error “Error: the default gw: [$gw] is empty”

route_entry_1=”$net1 via $gw dev eth0″
route_entry_2=”$net2 via $gw dev eth0″

if ! ip route | grep -q “$net1” ; then
ip route add $route_entry_1 || error “Error: failed to add $route_entry_1”
fi
if ! ip route | grep -q “$net2” ; then
ip route add $route_entry_2 || error “Error: failed to add $route_entry_2″
fi

}

change_redhat_routes() {
route_conf_file=/etc/sysconfig/network-scripts/route-eth0
[[ -f $route_conf_file ]] && cp $route_conf_file ${route_conf_file}.original

ip_route_helper

route_entry_1=”$net1 via $gw dev eth0″
route_entry_2=”$net2 via $gw dev eth0”

if ! grep -q “100\.64\.0\.0” $route_conf_file >& /dev/null; then
echo “$route_entry_1” >> $route_conf_file
fi

if ! grep -q “11\.0\.0\.0” $route_conf_file >& /dev/null; then
echo “$route_entry_2″ >> $route_conf_file
fi
}

change_ubuntu_routes() {
route_conf_file=/etc/network/interfaces
[[ -f $route_conf_file ]] && cp $route_conf_file ${route_conf_file}.original

ip_route_helper

route_entry_1=”up route add -net 100.64.0.0 netmask 255.192.0.0 gw $gw dev eth0″
route_entry_2=”up route add -net 11.0.0.0   netmask 255.0.0.0   gw $gw dev eth0”

if ! grep -q “100\.64\.0\.0” $route_conf_file >& /dev/null ; then
echo “$route_entry_1” >>  $route_conf_file
fi
if ! grep -q “11\.0\.0\.0” $route_conf_file >& /dev/null ; then
echo “$route_entry_2″ >>  $route_conf_file
fi
}

change_suse_routes() {
route_conf_file=/etc/sysconfig/network/ifroute-eth0
[[ -f $route_conf_file ]] && cp $route_conf_file ${route_conf_file}.original

ip_route_helper

route_entry_1=”100.64.0.0 $gw 10 eth0″
route_entry_2=”11.0.0.0 $gw 8 eth0”

if ! grep -q “100\.64\.0\.0” $route_conf_file >& /dev/null; then
echo “$route_entry_1” >>  $route_conf_file
fi
if ! grep -q “11\.0\.0\.0” $route_conf_file >& /dev/null; then
echo “$route_entry_2” >>  $route_conf_file
fi
}

change_gentoo_routes() {
route_conf_file=/etc/conf.d/net
[[ -f $route_conf_file ]] && cp $route_conf_file ${route_conf_file}.original
gw=$(route -n | awk ‘/^0.0.0.0/ {print $2}’)

if ! route -n | grep -q ‘100\.64\.0\.0′ ; then
route add -net 100.64.0.0/10 gw $gw eth0 || error “Error: failed to add 100.64.0.0/10”
fi
if ! route -n | grep -q ’11\.0\.0\.0’ ; then
route add -net 11.0.0.0/8 gw $gw eth0 || error “Error: failed to add 11.0.0.0/8”
fi

if ! grep -q ‘routes_eth0’ $route_conf_file >& /dev/null; then
echo “routes_eth0=(\”100.64.0.0/10 via $gw\” \”11.0.0.0/8 via $gw\”)” >> $route_conf_file
else
if ! grep -q ‘100\.64\.0\.0′ $route_conf_file >& /dev/null; then
sed -i “s#\(routes_eth0=.*\))#\1 \”100.64.0.0/10 via $gw\”\)#” $route_conf_file
fi
if ! grep -q ’11\.0\.0\.0’ $route_conf_file >& /dev/null; then
sed -i “s#\(routes_eth0=.*\))#\1 \”11.0.0.0/8 via $gw\”\)#” $route_conf_file
fi
fi
}

change_coreos_routes() {
route_conf_file=/etc/systemd/network/10-eth0.network
[[ -f $route_conf_file ]] && cp $route_conf_file ${route_conf_file}.original

ip_route_helper

if ! grep -q ‘100.64.0.0’ $route_conf_file >& /dev/null; then
cat >> $route_conf_file << EOF
[Route]
Destination=100.64.0.0/10
Gateway=$gw
EOF
fi

if ! grep -q ‘11.0.0.0’ $route_conf_file >& /dev/null; then
cat >> $route_conf_file << EOF
[Route]
Destination=11.0.0.0/8
Gateway=$gw
EOF
fi
}

####################################################################

error() {
echo $1
exit 1
}

change_routes() {

result=$(egrep -o ‘Ubuntu|Red Hat|SUSE|Debian|Gentoo|Gentoo Hardened|AliCloud’ /proc/version | uniq | head -n 1)
case $result in
‘Ubuntu’ | ‘Debian’)
change_ubuntu_routes
;;
‘Red Hat’ | ‘AliCloud’)
change_redhat_routes
;;
‘SUSE’)
change_suse_routes
;;
‘Gentoo’)
change_gentoo_routes
;;
‘Gentoo Hardened’)
change_coreos_routes
;;
*)
error “Error: unknow platform: [$result]”
;;
esac
echo ‘add route 11.0.0.0/8 100.64.0.0/10 success !’
}

change_routes

####################################################################

分类: 张宏良张洪量 标签: , ,
css.php