使用具有动态参数的Kubernetes Ingress到网络API
我使用ASP.NET Core Web API的Kubernetes入口遇到问题. 说我有一个带有三个控制器的Web API(简化的代码可以演示三个路线/,/EP1,/EP2): endpoints.MapGet("/", async context => { await context.Response.WriteAsync("##"); }); endpoints.MapGet("/ep1", async context => { await context.Response.WriteAsync("1"); }); endpoints.MapGet("/ep2", async context => { await context.Response.WriteAsync("2"); }); 我想要的是定义一个将内部路线传递到应用程序的入学规则: apiVersion: networking.k8s.io/v1 kind: Ingres
18 2024-04-25
编程技术问答社区
.Net Core 3.0 Nginx不提供静态文件服务
我有一个.NET Core 3.0 Web应用程序,我想在Debian Buster Service上运行.我遵循Microsoft指令找到的指示我能够让nginx提供页面,但是没有出现这些样式. 配置文件 服务器{ 听80; server_name yourdomain.com; 返回301 https://$ host $ request_uri; } server { listen 80; server_name demo.cerebral.local; #ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; #ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; #ssl on; #ssl_session_cach
24 2024-04-20
编程技术问答社区
在重负荷下对Threadpool饥饿进行故障排除
我们正在遇到高负载的问题(3.1)应用程序. 超过一定量的连接(虚拟用户),我们概括了瓶颈,服务器饿了,我们得到了请求超时,但是该过程不会崩溃(没有kestrel日志).我们正在使用 k6 基准我们的应用程序.目前,加载测试仅执行登录页面上的获取请求,该登录页面触发一个基本的SQL请求(无连接等). 我们使用Visual Studio 2019 Perfomance Profiler工具和PerfView来调查问题,但是这些工具都没有帮助我们确定导致这种瓶颈的代码部分. I found this article about ThreadPool starvation : https://learn.microsoft.com/fr-fr/archive/blogs/blogs/vancem/诊断网络核心 - 线索街 - 播放 - 当时 - 我的服务 - service-is-s-not-not-not-not-not-All-cores-or-cores-or-seem
12 2024-04-20
编程技术问答社区
将ASP.Net Web表单项目部署到Fedora 24上
这是我当前的设置: 我的本地计算机:这是我使用Visual Studio 2015 Professional在Windows 10上启用CloudFlare Flexible SSL的ASP.NET WebForms项目的地方,我还启用了Team Explorer我的文件也存储在我自己的存储库中. 我的服务器计算机:运行fedora 24,我已经安装了 dotnet cli(又称net core), apache(httpd),nginx和 for asp.net .我想在默认的Web目录(/var/www/html/mysite/) 中在此计算机上部署/发布我的WebForms项目 问题是,Dotnet CLI依赖于A project.json和与WebForms 不兼容. .NET Core基本上是不是选项.当我使用mod_mono时,如果我连接到如何从github或本地计算机中将项目移动到我的服务器计算机上?我想念什么吗?这是我的虚拟主机配置,用于参考: httpd
12 2024-04-20
编程技术问答社区
当应用程序在Docker容器中运行时,Swagger UI给出了404。
在我的项目中,我已经在我的启动中设置了Swagger. public void ConfigureServices(IServiceCollection services) { services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Example API", Version = "v1" }); }); public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerE
16 2024-04-19
编程技术问答社区
如何使nginx反向代理在.Net核心中与gRPC一起工作?
我遇到了一个问题,我无法让Nginx与GRPC正常使用.我正在使用.NET CORE 3.1用于支持REST和GRPC的API. 我正在使用以下Docker图像: .net core 3.1(Aspnet:3.1-alpine) nginx(nginx:最新) 客户端正在本地运行,因为我只是通过NGINX连接到Docker容器(端口8080和443映射到主机) 我已经在Docker容器中构建了API图像,并且正在使用Docker构成旋转所有内容. 当涉及GRPC时,我的API非常简单: app.UseEndpoints(endpoints => { endpoints.MapGrpcService(); endpoints.MapControllers(); }); 我的API前面及以下是我的Nginx配置.但是RPC电话行不通.我无法通过客户端连接到GRPC服务,它返回502请求. 我得到2020/06/2
20 2024-04-17
编程技术问答社区
.NET 6.0:新Blazor项目抛出Websocket错误
我目前正在运行使用ASP.NET Core 3.1和一个Blazor项目的Web服务器. 最近,当升级到.NET 6.0时,我遇到(即使使用空白的Blazor Project)仅在浏览器中的WebSocket错误消息时,仅当部署在我的WebServer上时(请参阅下面的消息). . 本地(在Windows 11 x64上,vs 22预览4)没有错误消息... WebServer:Debian 10 X64,.NET 6.0 SDK已安装,在启用WebSockets的NGINX上运行(反向代理). 我是否错过了某些东西,还是当前状态为.NET 6.0和NGINX的问题?我已经尝试在Debian服务器上本地访问网页,并且发生了相同的错误消息. 帮助您将不胜感激! 问候! 顺序中的错误消息: Information: Normalizing '_blazor' to 'http://192.168.178.35/_blazor'. blazor.se
22 2024-04-15
编程技术问答社区
asp.net core 2.0 无法向数据库发布信息
我有一个在Windows Env上开发的Web应用程序,并在Ubuntu 16.04. 上运行 我没有问题将信息发布到我的sqlite数据库文件blog.db(位于项目的/.目录中),但是当我在Ubuntu Server上尝试相同的操作时,我会收到以下错误: Microsoft.AspNetCore.Server.Kestrel[17] Connection id "0HL8AR4JM7NOJ" bad request data: "Requests with 'Connection: Upgrade' cannot have content in the request body." Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Requests with 'Connection: Upgrade' cannot have content in the request body.
18 2024-04-13
编程技术问答社区
在unix(nginx)上托管时,.NET核心的TimeZoneInfo。
例如,当我尝试执行以下操作时. TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time") 我会发现错误,TimeZone在本地计算机上不可用.当我在本地运行此操作时,它可以在Windows上运行.部署时,它将运行在Nginx的Unix计算机上.我可以看到,FindSystemTimeZoneById在UNIX方面正在查看错误的文件夹.有什么方法可以做这项工作? 解决方案 .net核心使用系统时区.不幸的是,Windows和Linux具有不同的时区系统.现在您有两种方法: 使用其他时区的其他(和通用)的影响,例如 noda Time 翻译 在Windows和IANA时区之间,例如使用 timezoneconeconverter micro-library. 其他解决方案 工作以前的答案,我们可以通过检查哪个OS来避免昂贵的try/catch 'Re on on: usi
14 2024-04-11
编程技术问答社区
用librtmp捕获相机并发布视频
我正在努力在NGINX RTMP服务器上发布视频.在我的nginx配置中,我有以下行: rtmp { server { access_log /var/log/nginx/rtmp-access-streaming.log; listen 1935; # wait_key on; wait_video on; chunk_size 4096; application live { live on; allow publish all; # deny publish all; allow play all;
24 2024-04-09
编程技术问答社区
nginx基于前缀的位置处理实现的效率如何?
nginx中的前缀字符串位置如何处理? http://nginx.org/r/l/location 具体来说,已广泛报道 http://nginx.org/nginx.org/r/server_name 是通过哈希表 - - 但是关于location指令的实现没有类似的细节. 解决方案 基于前缀的location树在每个节点上定义为3个子节点元素: ngx_http_location_tree_node_s 462struct ngx_http_location_tree_node_s { 463 ngx_http_location_tree_node_t *left; 464 ngx_http_location_tree_node_t *right; 465 ngx_http_location_tree_node_t *tree; 这似乎是一种被称为 前缀树 的数据结构,或 trie : https://en.wi
14 2024-04-09
编程技术问答社区
子请求未被发送或请求挂起
我正在尝试在C(必须为C)中编写自己的模块1.7.12. 当代理请求到达nginx时,它旨在将其他请求发送到另一台服务器. . 为此,我在配置中创建了两个位置: location = / { proxy_pass $backend_url; } location /internal_url { proxy_pass $log_server_url; internal; } 我已经使用了在这里创建一个下面介绍的过滤器: static ngx_int_t my_http_body_filter(ngx_http_request_t* r, ngx_chain_t*
18 2024-04-09
编程技术问答社区
将esp-32摄像机流向RTMP服务器,如YouTube
我正在为一个我需要使用相机流进行的项目进行研究.在多次命中和谷歌搜索之后,直接将ESP-32相机流传输到我自己的RMTP服务器的解决方案都无法接近. 已经尝试了解决方案: 1)我尝试使用Raspberry Pi重新流程ESP-32-CAM,它效果很好,但我正在寻找的东西{dasved disved disted disted disted disted disted disted disted at disted,因为不想将RaspberryPi用于约束目的} 2)ESP-32-CAM:记录和FTP传输带有时间触发器(不尝试,但认为这不是一个好方法). {丢弃,因为它不是实时} 3) ESP32用httpclient fo php 我尝试过,但它仅适用于图像,其次是在循环函数中执行代码,因此由于保存和发布操作而导致很长的延迟. 请注意:我不是在查看ESP-32 CAM充当流服务器和浏览器可以像: 我已经尝试过它,并且它运行良好,但对于涉及在不限制的情况
38 2024-04-08
编程技术问答社区
由于struct'crypt_data'的汇编失败了,没有名为" Current_Salt"的成员
我试图用GCC在Ubuntu机器上编译Nginx.我的glibc版本是2.31. m@feynman:~/Junk/nginx-1.9.9 $ /lib/x86_64-linux-gnu/libc.so.6 --version GNU C Library (Ubuntu GLIBC 2.31-0ubuntu9.2) stable release version 2.31. 我从 https://nginx.org/download/下载了许多不同版本与他们一起失败. ./configure --with-threads --with-http_ssl_module --with-cc-opt="-Wno-error" make ./配置objs/Makefile中的文件生成以下文件: CC = cc CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g -Wno-error
14 2024-04-07
编程技术问答社区
使用Nginx的C语言FastCGI
我正在尝试运行NGINX Web服务器后面用C语言编写的FastCGI应用程序. Web浏览器永远不会完成加载,并且响应永远不会完成.我不确定如何处理和调试.任何见解都将不胜感激. Hello World应用程序是从Fastcgi.com获取的,并简化了这样的外观: #include "fcgi_stdio.h" #include int main(void) { while(FCGI_Accept >= 0) { printf("Content-type: text/html\r\nStatus: 200 OK\r\n\r\n"); } return 0; } 输出可执行文件可执行: 之一 cgi -fcgi -connect 127.0.0.1:9000 A.Out 或 spawn -fcgi -a120.0.0.0.1 -p9000 -n ./a.out nginx配置是: server {
16 2024-04-07
编程技术问答社区
Rails Nginx Passenger 无法签出会话,因为发生了一个生成错误
我有一个Rails 3.2.14应用程序,可在生产服务器上部署和运行良好.在推出生产之前,我正在将其部署到另一台服务器上测试更改.我正在运行最新版本的乘客/nginx,并使用Capistrano 2.12.0与Ruby 1.9.3-P194一起使用,因为这是一个传统应用程序,我正在尝试模仿环境. 我可以无问题部署该应用程序,但是它不会产生乘客并启动应用程序. 这是我在/var/log/nginx/error.log 中遇到的错误之一 [ 2014-08-10 07:09:08.7782 733/7f2626fb2700 Pool2/Implementation.cpp:284 ]: Could not spawn process for application /home/d eploy/exigencad/current: An error occured while starting up the preloader. Error ID: aa5360f9 E
22 2024-04-05
编程技术问答社区
用捆绑器安装宝石==大问题
如果我运行bundle install,一切都过去了.我重新启动nginx,当我访问网站时,我会看到乘客错误: git://github.com/spree/spree.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError) 我的gemfile: source 'http://rubygems.org' gem 'rails', '3.0.3' gem 'spree', :git => 'git://github.com/spree/spree.git' gem 'haml' gem 'ruby-debug' gem 'sqlite3', :require => 'sqlite3' gem 'ckeditor', '3.4.2.pre' gem "aged_revolt", :require => "aged_revolt", :path => "aged_
18 2024-04-05
编程技术问答社区
多少个nginx缓冲区才算多?
阅读nginx文档, proxy_buffer 命令具有此解释性消息: 该指令设置了缓冲区的数字和大小,其中 将读取从代理服务器获得的答案.默认情况下, 一个缓冲区的大小等于页面的大小.根据 平台这是4K或8K. 默认值为八个4K或8K缓冲区.为什么nginx的作者选择八个而不是较高的数字?如果我添加更多缓冲区或更大的缓冲区大小,可能会出问题? 解决方案 nginx构建为有效的内存,其默认配置在内存使用方面也很明显.如果您添加更多的缓冲区,则不会出错,但是Nginx会消耗更多的RAM. 八个缓冲区可能被选为最小的有效计数,是两个平方.四个会太少,而16则大于Nginx的默认需求. "太多的缓冲区"答案取决于您的性能需求,内存可用性和请求并发.保持服务的"好"门槛是您的服务器必须将内存转换为磁盘的地步. "最佳"答案是:确保Nginx永远不会写入磁盘所需的少量缓冲区(检查您的错误日志以查找是否是). 这是我在Web主机上使用32 GB的RAM上的NGI
18 2024-04-04
编程技术问答社区
如何设置nginx只在静态文件被修改时才传输?
我正在使用nginx使用一个文件夹.我正在通过其他过程更改文件夹中的文件.我想以这样的方式设置NGINX,如果未更改文件在服务器上,则文件内容未通过HTTP发送.更改文件时(即修改日期已更改),则将文件传输.我浏览了一些文档并进行了一些谷歌搜索,但没有找到这种情况的方法.大多数时候,人们都在清除高速缓存文件夹,但这对我来说似乎不是很优雅.是否可以通过304/200代码组织此? IE.如果更改了文件,则服务器使用HTTP 200及其内容响应,否则使用HTTP 304. 解决方案 如何配置: 这已经是默认行为;为此,为了正常工作,客户必须按照If-Modified-Since和/或If-None-Match ETag标题. #ngx_http_not_modified_header_filter" rel="nofollow noreferrer">ngx_http_not_modified_header_filter() and http://nginx.org/r/if_m
16 2024-04-04
编程技术问答社区
Nginx在反复修改后没有刷新文件。返回旧的 "最后修改 "标题
我有Web应用程序,并且有一些界面可以刷新商店的徽标.当我刷新徽标时,我将使用新的last-modified标头添加新文件: nginx返回已更正的更新文件. 之后,我再次更新徽标.但是我得到了带有旧last-modified的旧徽标,尽管更改了徽标URL文件(您可以在URL末尾看到查询时间戳): 如果我通过浏览器执行直接请求,那么我将获得更新的文件: 这可以通过内容长度在文件大小中看到. 我的图像的nginx配置是: location ~* ^.+\.(jpg|jpeg|svg|gif|png)$ { expires 10d; try_files $uri @app; } 我不明白我在做什么错.请帮我.预先感谢 解决方案 根据我的经验,这可能不是nginx问题,而是一个常见的浏览器行为. 浏览器如果强制强制浏览器本身可能会刷新页面,但是文件链接并不总是填充,并且文件是从高速缓存中提供的. 如果
28 2024-04-04
编程技术问答社区