博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在云帮上配置https
阅读量:5890 次
发布时间:2019-06-19

本文共 3066 字,大约阅读时间需要 10 分钟。

序 相关组件介绍

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

  • console模块

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

  • openresty模块

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

大概的操作流程如下:

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

0x00 利用openssl自签证书

准备工作:

cd /etc/goodrain/nginx/ssl #用于存放证书mkdir console.goodrain.me #域名对应的目录cd console.goodrain.me

生成证书操作:

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如下:

Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:BeiJingLocality Name (eg, city) [Default City]:BeiJingOrganization 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.meEmail 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 nginxccleardc-compose up -d

配置到这里,控制台的https配置已经完成。

测试:

[root@iZm5e7u02k402beob2081gZ ~]# curl -I console.goodrain.me/loginHTTP/1.1 301 Moved PermanentlyServer: openrestyDate: Thu, 30 Mar 2017 03:46:37 GMTContent-Type: text/htmlContent-Length: 185Connection: keep-aliveLocation: 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/httpcp 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 openrestyccleardc-compose up -d

配置到这里,应用的https已经配置完成了。

测试:curl 即可,如果多节点配置直接配置443就ok了。

说明:当仅一台服务器时无法监听443端口,需使用非被占用的端口如7443,访问域名就是

如果计算节点和管理节点不在同一台服务器上,即可监听443端口。

0x03 END

配置到这里,云帮https已经配置完成了。如果后期有什么问题,可以回帖或相关群组里反馈。

转载地址:http://tqfsx.baihongyu.com/

你可能感兴趣的文章
mysql能看见表显示表不存在_遇到mysql数据表不存在的问题
查看>>
使用mysql实现宿舍管理_JSP+Struts2+JDBC+Mysql实现的校园宿舍管理系统
查看>>
mysql alter 修改字段类型_MySQL ALTER命令:删除,添加或修改表字段、修改字段类型及名称等...
查看>>
mysql中的事务和锁_MySQL - 事务和锁中的互斥?
查看>>
mysql statement讲解_Statement接口详解
查看>>
mysql_print_default_知识点:MySQL常用工具介绍(十 二)——实用程序my_print_defaults、perror...
查看>>
mysql怎么会报错_MySQL启动报错怎么办?
查看>>
python编译exe用于别的电脑上_Python安装教程(推荐一款不错的Python编辑器)
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
hive中如何把13位转化为时间_sqoop1 导入 hive parquet 表中 时间戳调整为日期
查看>>
mysql书外键_[转] mysql 外键(Foreign Key)的详解和实例
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
python入门小游戏代码_【Python】Python代码实现“FlappyBird”小游戏
查看>>
云服务器怎么卸载mysql数据库_mysql 删除数据库脚本
查看>>
mysql 5.5.57互为主从_MYSQL 5.5.18 互为主从配置成功
查看>>
mysql5002_mysql新手进阶02
查看>>
python类 del_全面了解Python类的内置方法
查看>>
前后端传图片用base64好吗_前后端分离 前台传base64的图片 tp5.1.1进行处理
查看>>
java对象的排序_Java对象排序两种方法
查看>>
java jni 原理_使用JNI技术实现Java和C++的交互
查看>>