nginx

nginx reverse proxy to a set of pages with an additional path in the URL based on http referer?

[亡魂溺海] 提交于 2021-01-26 23:37:55
问题 I have a 3rd-party ui server running in a docker container, exposed on port 8080. It seems to expect to load resources with an absolute path: http://localhost:8080/index.html , http://localhost:8080/js/some_jsfiles etc. I want to create a reverse proxy to it so it looks like it is coming from a different path: https://myserver.com/stormui/index.html , https://myserver.com/stormui/js/... first I tried location /stormui/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;

docker 入门学习系列文章教程

拥有回忆 提交于 2021-01-26 10:45:55
1. 介绍 上一篇: docker的容器(三) 可能你使用 docker pull sameersbn/gitlab 命令的时候,会发现要下载好多images,因为docker的images是层叠结构的。 这个有点像git。就是最上一层的images,可能是下一层的images,为基础构建的。 2. docker commit 要先理解这个,先来看个例子。 之前我们使用过下面的命令来运行过一个nginx服务。 $ docker run --name webserver -d -p 80:80 nginx 现在我们进入到这个容器,改点东西。 $ docker exec -it webserver bash 然后: root@3729b97e8226:/# echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html root@3729b97e8226:/# exit 你再使用 curl http://localhost 看看,是不是页面变了。 然后你再使用stop命令把这个容器停掉,然后再启动,你会发现又变回原来的样子。 我们之前修改了容器的内容。 来看看改了哪些东西: $ docker diff webserver C /root A /root/.bash_history C /run A /run/nginx

第6次结对作业--郑锦伟&古维城

随声附和 提交于 2021-01-26 08:22:50
第 6 次结对作业 在线英语学习平台客户端原型 1.结对成员 郑锦伟 2015034643034 古维城 2015034643033 2.原型设计工具实现-Photoshop 3.需求分析 使用NABCD模型进行需求分析 3.1 N(Need, 需求) 3.1.1具体功能和数据需求 3.1.1.1 登录注册管理 (1) 注册 用户填写基本信息进行注册,要填写的信息有(账号,密码,确认密码,邮箱,密保问题,密保问题可以设置多个,最多三个) (2) 登录 用户根据账号或者邮箱号进行登录 (3) 忘记密码 根据密保问题重置密码 3.1.1.2 英语资料数据管理 该模块的使用用户只针对管理员 (1) 查看数据 英语数据资料首先根据层次分类,不同的层次有对应的类型的不同的题目 (2) 上传数据 选择层次(英语四级,英语六级,研考级)和类型进行上传 (3) 修改数据 可修改题目的层次,类型,描述,答案等 (4) 删除数据 可批量删除和单个删除 3.1.1.3 个人中心模块管理 (1) 用户基本信息的操作 查看/修改用户的基本信息(账号名,用户昵称,性别,年龄,邮箱,密保问题,学历,毕业学校) 查看用户的荣誉信息(总积分,排名,单词学习积分,短语学习积分,句子翻译学习积分,完型填空学习积分,阅读理解学习积分,写作学习积分) 查看学习历史,查看做过的学习套卷,可查看每道题的得分情况

RTMP协议在线教育课堂web视频直播点播平台EasyDSS在大量设备开启录像后为什么会导致系统卡死?

99封情书 提交于 2021-01-26 08:12:30
EasyDSS视频平台提供视频直播及点播功能,当然如果有调用视频录像回放的需求,也可以选择录像版本存储录像。但是在录像功能中,如果全部开启录像功能,如果在比较差的服务器中运行,则会导致系统处于卡死状态,无法正常运行。 在后台中查看 10085 端口,10085 端口是 EasyDSS 中的默认 rtmp 推流端口。发现大量的 CLOSE_WAIT 端口状态的请求存在。 C 层主要是采用 nginx 处理 rtmp 推流数据,因此采用单任务模式,即处理完一个事件任务后,才会处理下一个事件任务。图中存在大量的 CLOST_WAIT 端口存在,证明大量的 http 请求在等待处理中。随着一段时间后,这些端口会慢慢消失。 因此重点查询何种任务在阻塞队列的运行。经过分析后,认为是对磁盘的 I/O 读写阻塞了任务队列,查看 kernel 的配置文件。 原则上因为磁盘的 I/O 阻塞问题,属于服务系统性能问题,在代码层面能够处理的很小。但是因为客户要求,尽量能够最大的支持路数。 目前默认的录像时间为 4s,即对于一路视频流,需要默认4s内都要打开一次文件,写入文件和关闭文件这三种操作。其中写入文件的操作无法省略。因此从减少打开和关闭文件的操作上进行优化,将录像时间修改为 20s,即一路流,20s 才会打开和关闭一次文件。减少的大量在此方面的消耗。 修改完毕后,满足了客户的要求。但是此种情况

第一章 PHP mySQL

橙三吉。 提交于 2021-01-26 04:31:01
一,服务器环境搭建 1-1.Apache服务器。(端口号定义,http协议,开启和关闭) 服务器: 我们在浏览器浏览网页的时候,在地址栏中都会产生一个url。通过这个url,浏览器从互联网中找到一个网页并下载到当前浏览器中显示。那么这个网页从何而来呢? 从web服务器来。一个网站完成开发后,我们需要把网站上传到一个web服务器中,web服务器会产生一个url地址,用户通过这个地址,在浏览器的地址栏中输入这个url,就可以在互联网上访问这个网站了。 web服务器是什么呢?web服务器实际上就是一台互联网联通的计算机,计算机上保存了许多文档或者网站,可供联网的客户端访问。 目前最主流的三个Web服务器是Apache、 Nginx 、IIS Apache、 Nginx 、IIS :这三个指的是服务器运行环境。 1-2.webserver原理。 客户端浏览器向服务器发送一个http请求,请求通过应用层http携带请求的条件(数据),经过TCP与服务器的三次握手,确认连接成功后,向服务器发送数据包,服务器接收到数据所并通过解析处理后,向客户端返回数据包,客户端接收解析并将结果显示在页面。 1-3.集成环境安装。 这里使用wampserver集成环境 1-4.php运行环境介绍。 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上

nginx k8s ingress - forcing www AND https?

大城市里の小女人 提交于 2021-01-26 03:50:33
问题 I have a kubernetes setup that looks like this: nginx ingress -> load balancer -> nginx app after getting an SSL certificate for www .foo.com, I've installed it in my nginx ingress as a secret, and it works as expected - traffic to www.foo.com gets redirected to the https version instead, and browsers display a secure connection indicator. Great. What hasn't been easy, however, is getting the ingress to redirect non-www traffic to the www version of the site. I've tried using kubernetes.io

nginx k8s ingress - forcing www AND https?

安稳与你 提交于 2021-01-26 03:46:25
问题 I have a kubernetes setup that looks like this: nginx ingress -> load balancer -> nginx app after getting an SSL certificate for www .foo.com, I've installed it in my nginx ingress as a secret, and it works as expected - traffic to www.foo.com gets redirected to the https version instead, and browsers display a secure connection indicator. Great. What hasn't been easy, however, is getting the ingress to redirect non-www traffic to the www version of the site. I've tried using kubernetes.io

PHP网站开发—网站架构优化性能概念

℡╲_俬逩灬. 提交于 2021-01-25 17:34:38
最开始的网站架构 最初业务量不大,访问量小,此时的架构,应用程序、数据库、文件都部署在一台服务器上,有些甚至仅仅是租用主机空间 1. 应用、数据、文件分离 将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。 2. 利用缓存改善网站性能 大部分网站访问都遵循28原则,即80%的访问请求,最终落在20%的数据上,所以我们可以对热点数据进行缓存,减少热点数据的访问路径,提高用户体验。缓存实现常见的方式是本地缓存、分布式缓存。当然还有CDN、反向代理。 2.1 本地缓存 本地缓存,顾名思义是将数据缓存在应用服务器本地,可以存在内存中,也可以存在文件,组件。本地缓存的特点是速度快,但因为本地空间有限所以缓存数据量也有限。 2.2 分布式缓存 分布式缓存的特点是,可以缓存海量的数据,并且扩展非常容易,在门户类网站中常常被使用,速度按理没有本地缓存快,常用的分布式缓存是Memcached、Redis。 2.3 反向代理 部署在网站的机房,当用户请求达到时首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户,如果没有缓存数据才会继续访问应用服务器获取,这样做减少了获取数据的成本。 2.4 CDN 假设我们的服务器都部署在杭州的机房,对于浙江的用户来说访问是较快的,而对于北京的用户访问是较慢的

Get server URL in django docker

柔情痞子 提交于 2021-01-25 07:18:45
问题 I am running Django project in docker. I have 3 docker container. For Django App For Postgres For Nginx My docker-compose.yml file is as follow version: "3" services: db: restart: always container_name: tts-db image: postgres:9.6 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=tts expose: - "5432" nginx: image: nginx:latest container_name: tts-nginx ports: - "8000:8000" volumes: - ./nginx/site-enabled:/etc/nginx/conf.d depends_on: - web web: build: . container

Ingress Nginx - how to serve assets to application

江枫思渺然 提交于 2021-01-25 07:08: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.