前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >敲黑板 | 如何在云帮上配置https

敲黑板 | 如何在云帮上配置https

作者头像
Rainbond开源
发布2018-05-31 13:38:08
6850
发布2018-05-31 13:38:08
举报

序 相关组件介绍

本次分享主要涉及到两个模块console模块和openresty模块。

  • console模块

即云帮(ACP)控制台模块,为用户提供可视化Web操作界面,监听443端口即可,对证书需求:域名证书即可。

  • openresty模块

即云帮负载均衡模块。云帮所有的对外服务都配置在负载均衡上,都是通过负载均衡转发到对应的应用与服务。大部分情况下监听443端口即可,如果单节点监听非占用端口即可。对证书需求:因为涉及的域名较多,这里我们选择泛域名证书。

操作流程如下:

那么接下来就说说如何具体去配置https。

0x00 利用openssl自签证书

准备工作:

代码语言:javascript
复制
cd /etc/goodrain/nginx/ssl #用于存放证书
mkdir console.goodrain.me #域名对应的目录
cd console.goodrain.me

生成证书操作:

代码语言:javascript
复制
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/goodrain/nginx/ssl/console.goodrain.me/console.key -out /etc/goodrain/nginx/ssl/console.goodrain.me/console.crt

特别说明:回车之后会让填写一些信息,这些适当根据提示填写。但是最重要的就是要求Common Name填写慎重,您需要输入与您的服务器关联的域名或您的服务器的公共IP地址。

demo如下:

代码语言:javascript
复制
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BeiJing
Locality Name (eg, city) [Default City]:BeiJing
Organization Name (eg, company) [Default Company Ltd]:Goodrain, Inc.
Organizational Unit Name (eg, section) []:Cloud 
Common Name (eg, your name or your server's hostname) []:console.goodrain.me
Email Address []:info@goodrain.me

域名一定要写自己所需https的域名。

0x01 云帮控制台支持https

  • 备份console配置文件

cp console ~/ #备份路径自选,但不要备份到当前目录下

  • 编辑console文件 #在原有的配置下添加如下配置 #ip同原配置里的监听8688的ip相同 server { listen ip:443; server_name console.goodrain.me; ssl on; ssl_certificate /etc/nginx/ssl/console.goodrain.me/console.crt; ssl_certificate_key /etc/nginx/ssl/console.goodrain.me/console.key; location / { proxy_pass http://console; proxy_set_header Host $host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; } } 这样配置的话,http和https都是支持的。如果想强制跳转修改监控8688的server server { listen ip:8688; server_name console.goodrain.me; rewrite ^(.*)$ https://$server_name$1 permanent; } 修改完。重启nginx服务。 dc-compose stop nginx cclear dc-compose up -d 配置到这里,控制台的https配置已经完成。 测试: [root@iZm5e7u02k402beob2081gZ ~]# curl -I console.goodrain.me/login HTTP/1.1 301 Moved Permanently Server: openresty Date: Thu, 30 Mar 2017 03:46:37 GMT Content-Type: text/html Content-Length: 185 Connection: keep-alive Location: https://console.goodrain.me/login 如果是浏览器访问,由于证书是自签的,需要添加信任。 0x02 平台应用支持https 泛域名证书配置: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt 证书上传到openresty服务里: docker cp server.crt openresty:/usr/local/openresty/nginx/conf/ docker cp server.key openresty:/usr/local/openresty/nginx/conf/ 配置计算节点的openresty: cd /etc/goodrain/openresty/servers/http cp default.conf default443.conf # 编辑default443.conf 修改如下: listen 7443; ssl on; ssl_certificate /usr/local/openresty/nginx/conf/server.crt; ssl_certificate_key /usr/local/openresty/nginx/conf/server.key; #其他保持不变。 这里监听的是7443,因为我的是单节点部署的,443端口已经被其他服务监听,故使用7443端口。 配置完以上的,重启openresty即可。 dc-compose stop openresty cclear dc-compose up -d 配置到这里,应用的https已经配置完成了。 测试:curl https://domain:7443 即可,如果多节点配置直接配置443就ok了。

说明:当仅一台服务器时无法监听443端口,需使用非被占用的端口如7443,访问域名就是https://domain:7443 如果计算节点和管理节点不在同一台服务器上,即可监听443端口。 https://domain

0x03 END

配置到这里,云帮https已经配置完成了

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rainbond 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 序 相关组件介绍
  • 0x00 利用openssl自签证书
  • 0x01 云帮控制台支持https
  • 0x03 END
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档