nginx

Ingress Nginx - how to serve assets to application

本小妞迷上赌 提交于 2021-01-25 07:07:08
问题 I have an issue, I am deploying an application on [hostname]/product/console, but the .css .js files are being requested from [hostname]/product/static, hence they are not being loaded and I get 404. I have tried nginx.ingress.kubernetes.io/rewrite-target: to no avail. I also tried using: nginx.ingress.kubernetes.io/location-snippet: | location = /product/console/ { proxy_pass http://[hostname]/product/static/; } But the latter does not seem to be picked up by the nginx controller at all.

kubernetes之configmap

泪湿孤枕 提交于 2021-01-25 06:56:58
###生成容器内的环境变量 1.创建一个名字叫nginx-config的configmap, 变量名nginx_port的值是80, 变量名server_name的值是www.test.com kubectl create configmap nginx-config --from-literal=nginx_port=80 --from-literal=server_name=www.test.com 2.验证 kubectl get cm nginx-config -o yaml #其中data就是环境变量 kubectl describe cm nginx-config 3.创建一个pod, 引用上面定义的环境变量 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.11 ports: - containerPort: 80 env: - name: NGINX_SERVER_PORT #pod容器中的环境变量名字

zabbix监控Nginx

拟墨画扇 提交于 2021-01-24 19:13:05
监控流程 在zabbix_agent机器上安装nginx服务 配置nginx状态信息 在zabbix_agent机器测试 在zabbix_agent机器上编写脚本 编写zabbix_agent.conf 重启服务 zabbix_get 测试,在zabbix_server端执行 下载nginx模板 使用sz命令将,目录中的模板下载到pc上。然后在zabbixweb UI 上使用import导入就行了 将需要监控的nginx主机链接到该模板上 在zabbix_agent机器上安装nginx服务 配置nginx的yum源 编辑yum仓库: vi /etc/yum.repos.d/nginx.repo 粘贴: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 安装:yum install -y nginx 配置nginx状态信息 vi /etc/nginx/conf.d/default.conf #增加 location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } 在zabbix_agent机器测试 curl http://127.0

中小企业自动化运维平台建设之路

岁酱吖の 提交于 2021-01-24 14:21:02
讲师介绍: Panda 老师 前豆瓣运维工程师。经历了运维工程师到运维研发工程师的转变。 现就职创业公司,引入豆瓣的运维平台思想,完成新公司的自动化运维平台的开发和建设。对运维工程师转运维研发的困惑和痛点深有感触,乐于分享自己转型中的五味杂陈,51Reboot 金牌讲师。 分享主题: 中小企业自动化运维平台建设之路 内容: 1、谈谈中小企业运维工作中的痛点 2、通过开发运维平台如何解决痛点 3、以发布系统为核心,开发周边子系统,最终形成一套相互关联的系统 发布系统 1:什么是发布系统 按照指定的规范流程,将开发环境下的代码,配置文件,数据等推送到线上服务器的系统。 2:发布系统三要素 配置文件(nginx, apache) 数据(db......) 代码(重点介绍代码的推送) 3:发布系统的前提条件 标准化——线上服务器配置,路径,服务等需要统一标准 规范化——所有项目在整个发布流程都按照统一的规范执行 4:发布系统常用的三个环境 测试环境——开发人员自己测试的环境 仿真环境(或灰度)——定版代码,线上真实环境 线上环境——对外提供服务的环境 用户权限管理系统 资产管理系统 任务管理系统 代码发布系统 工单系统 公开课时间:今晚(5.10)九点 腾讯课堂直播链接:https://ke.qq.com/course/298272?tuin=1d644a5 来源: oschina 链接:

Calling external api in Nginx location section

痴心易碎 提交于 2021-01-24 13:52:45
问题 I am trying to resolve proxy_pass value dynamically (through web api) in nginx. I need something like below; Example taken from: https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/ location /proxy-pass-uri { set $urlToProxy = CallWebAPI("http://localhost:8081/resolver?url=" + $url); proxy_pass $urlToProxy; } So, my question is that, is it possible to make HTTP request or to write method such as CallWebAPI? I know it might be a bad practice, but the website I am dealing with has

Calling external api in Nginx location section

雨燕双飞 提交于 2021-01-24 13:51:41
问题 I am trying to resolve proxy_pass value dynamically (through web api) in nginx. I need something like below; Example taken from: https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/ location /proxy-pass-uri { set $urlToProxy = CallWebAPI("http://localhost:8081/resolver?url=" + $url); proxy_pass $urlToProxy; } So, my question is that, is it possible to make HTTP request or to write method such as CallWebAPI? I know it might be a bad practice, but the website I am dealing with has

TCP四层代理透传客户端真实IP

丶灬走出姿态 提交于 2021-01-24 12:58:52
缘起 最近公司准备自建邮箱,大概十年前折腾过自建邮箱的事情,感觉坑很多,这次体会了下确实很多,特别是现在管局对邮箱端口管控越来越严格的情况下,很多之前能行得通的方案需要修改下。 由于SMTP、POP3、IMAP等协议需要做四层代理且还需要能穿透客户端真实IP,硬件网络层代理软件又不能使用的情况下只能考虑软代理,下面是记录的两种解决方案。 方案 Nginx解决方案 1.注意nginx编译时需要加上stream模块及stream_realip_module模块;一个用来四层负载,一个用来获取客户端真实IP 2.开启透传功能proxy_protocol on,用于将连接信息从请求连接的源传递到请求连接到的目标 具体配置如下 # /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-stream --with-stream_realip_module # cat /usr/local

用了 10 多年的 Tomcat 居然有bug !

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-24 07:33:51
点击上方 “ 民工哥技术之路 ” 选择“星标” 每天 10点 为你 分享 不一样的干货 读者福利!多达 2048G 各种资源免费赠送 来源: www.jianshu.com/p/d50bc43f505e 为了解决分布式链路追踪的问题,我们引入了实现OpenTracing的Jaeger来实现。然后我们为SpringBoot框架写了一个starter以让用户实现近零改造接入全链路。 由于公司有一个封装了SpringBoot的内部框架,然后我们的starter就以最新框架所使用的SpringBoot版本为基础进行开发。 所以业务系统在接入的时候需要先升级框架,然后再引入我们的starter才行无缝接入全链路。 故障描述 然后有一个业务系统就按照步骤,升级框架,引入starter就接入了全链路系统,并且功能测试压力测试都已经通过了。 结果我们满怀信心地就上线了。 结果,线上nginx报大量http 400错误。 故障排查 出现故障后,业务系统的研发人员查了所有的日志,包括elk以及机器上的日志,都没有发现明显的错误日志。 这个就。 。 。 几番挣扎后还是没有在线上的日志中找到任何蛛丝马迹。 这个就比较绝望了。 更奇怪的是在测试环境中是正常的,这个就比较诡异了。 然后我们猜想是不是之前压力测试做得不够啊,我们还是在压测环境中再压测一下看看会不会复现。 然后正好之前这个业务系统做过压测

如何保持Redis和MySQL数据一致

若如初见. 提交于 2021-01-24 06:56:20
原文:https://blog.csdn.net/thousa_ho/article/details/78900563 1. MySQL持久化数据,Redis只读数据   redis在启动之后,从数据库加载数据。   读请求:不要求强一致性的读请求,走redis,要求强一致性的直接从mysql读取   写请求:数据首先都写到数据库,之后更新redis(先写redis再写mysql,如果写入失败事务回滚会造成redis中存在脏数据) 2.MySQL和Redis处理不同的数据类型   MySQL处理实时性数据,例如金融数据、交易数据。   Redis处理实时性要求不高的数据,例如网站最热贴排行榜,好友列表等。   在并发不高的情况下,读操作优先读取redis,不存在的话就去访问MySQL,并把读到的数据写回Redis中;写操作的话,直接写MySQL,成功后再写入Redis(可以在MySQL端定义CRUD触发器,在触发CRUD操作后写数据到Redis,也可以在Redis端解析binlog,再做相应的操作)。   在并发高的情况下,读操作和上面一样,写操作是异步写,写入Redis后直接返回,然后定期写入MySQL。 几个例子:   1.当更新数据时,如更新某商品的库存,当前商品的库存是100,现在要更新为99,先更新数据库更改成99,然后删除缓存,发现删除缓存失败了

Nginx 域名跳转

南楼画角 提交于 2021-01-23 22:47:29
域名跳转   就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 。 域名跳转配置 1、多域名指定一个域名重定向 # 空格分割域名 server_name www.123.com www.456.com www.678 .com; # 判断如果访问域名不等于www.123.com,就指定到www.123.com if ($host != ' www.123.com ' ) { rewrite ^/(.*)$ http://www.123.com/$1 permanent; } 虚拟主机文件内 注:permanent == 301重定向 2、域名HTTPS跳转 server { listen 80 ; server_name www.域名.com; rewrite ^(.*) https://$server_name$1 permanent; } HTTPS域名跳转 来源: oschina 链接: https://my.oschina.net/u/4350253/blog/4224110