Articles of http headers

nginx传回自定义标题

我有下面的例子 location / { proxy_read_timeout 2000; proxy_next_upstream error; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass_header X_CUSTOM_HEADER; proxy_redirect off; proxy_max_temp_file_size 0; proxy_pass https://prod; break; } 现在,当我使用下面的curl线 curl –head -H "X_CUSTOM_HEADER: foo" http://domain.com/api/test 现在,这是行不通的..在后端的Apache / PHP没有看到头。 如果我绕过nginx它的作品 curl –head -H "X_CUSTOM_HEADER: foo" http://web1.domain.com/api/test

如何configurationnginx,使其与Express一起工作?

我正在尝试configurationnginx,以便对我的节点应用程序进行proxy_pass请求。 StackOverflow的问题得到了许多upvotes: https ://stackoverflow.com/questions/5009324/node-js-nginx-and-now,我使用从那里的configuration。 (但由于问题是关于服务器configuration,它应该是在ServerFault上) 这里是nginxconfiguration: server { listen 80; listen [::]:80; root /var/www/services.stefanow.net/public_html; index index.html index.htm; server_name services.stefanow.net; location / { try_files $uri $uri/ =404; } location /test-express { proxy_pass http://127.0.0.1:3002; } location /test-http { proxy_pass http://127.0.0.1:3003; } } 使用普通节点: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(3003, […]

Apache proxy_httpredirect到ip并设置主机名

希望你们可以帮我解决我的代理问题。 我已经有了 我已经build立了一个Apache的HTTP反向代理,以代理从* .proxy.domain到* .intern.domain的请求。 Apache是​​从外部networking访问我的内部Web应用程序的唯一方法。 例: app.proxy.domain -> app.intern.domain mail.proxy.domain -> mail.intern.domain 这一切都很好,但我有以下问题。 问题 我想代理下面的请求: app.proxy.domain -> app.internal.domain app-dev.proxy.domain -> app-dev.internal.domain 这是没有问题的,但不幸的是,应用程序开发服务器运行应用程序服务器web应用程序的确切副本,这个web应用程序只响应它的主机名(app.intern.domain) 所以我需要做的是代理以下 app.proxy.domain -> app.internal.domain (10.0.1.1) app-dev.proxy.domain -> app.internal.domain (10.0.1.2) 我可以做第二件事,通过在/ etc / hosts中添加“10.0.1.2 app.internal.domain”,但这也意味着app.proxy.domain将落在开发服务器上。 我正在寻找一个选项,只在app-dev.proxy.domain的vhostconfiguration文件中设置/ etc / hosts项,这样每个其他的vhostconfiguration将只使用DNS作为app.intern.domain。 思考… 有没有办法告诉Apacheconfiguration, ProxyPass / http://10.0.1.2/ 但发送app.intern.domain作为主机名? 编辑开发服务器的Web应用程序来听应用程序开发是没有select,因为它应该是一个确切的副本(不是我的决定…) 谢谢!

如何在Apache中使用.htaccess删除HTTP头?

我有一个网站发送“caching控制”和“杂注”HTTP头的PHP请求。 我没有在代码中这样做,所以我假设它是某种Apacheconfiguration,就像这个问题所build议的那样(你并不需要去这个问题的上下文) 我的.htaccess文件中没有任何东西,所以它必须在Apache的configuration本身,但我不能访问,这是一个共享主机,我只有FTP访问我的网站的目录。 有没有什么办法,我可以添加指令到我的 .htaccess文件,将删除由全局configuration添加的头,否则重写该指令,以便他们不首先添加? 非常感谢你 丹尼尔

我可以使用LetsEncrypt的公钥密码?

当我设置一个cronjob来每30天更新一次LetsEncrypt证书时,我可以设置公用密钥引脚吗? 如果证书被更新,那么公钥密码也被更新了吗?

我怎样才能在Apache中logging响应标题和正文?

我需要确定服务器(Apache 2)是否返回页面的全部内容及其正确的页眉。 我有一个成功执行的PHP脚本,但浏览器只获得了一半的HTML内容,它只是被切断。 客户端基础设施非常复杂,使用Novell BorderManager Proxys和东西。 为了确保服务器正常工作,我想logging响应的标题和正文。 我怎样才能做到这一点? 我查看了apache的mod_log_config模块(已经安装好了,可以使用),但是说实话我没有把它configuration成在某个地方输出header和body。 编辑:我设法logging头 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{HEADER_NAME}o\"" common2 CustomLog /var/log/apache2/response.log common2 但不幸的是, mod_log_config格式不支持整个内容主体。 更新:我弄脏了mod_dumpio这似乎是做到这一点,但我不能得到它的工作到目前为止:-( 谁能帮忙?

运行一个API,如果我纠正了一个内容types的头文件,会为客户带来什么?

我们正在运行一个API,有相当多的人使用它。 由于我的一些传统的笨拙,其中一个端点是返回错误的内容types的头 , js时它应该是json 。 我的问题是,如果我们通过交换来解决这个问题以回报正确的价值,那么我们现有的客户有多混乱呢? 换句话说,当你看到这样的改变时,你会期望很多不同的HTTP客户端库会引发致命的错误吗? 我们正在试图确定这是否是一个我们可以继续前进的变化,而不是让它变得太多,或者我们应该仔细地向所有用户发送电子邮件,并宣布一个为期多年的贬低期…或者其中的一些东西。 它可能取决于使用什么样的不同的HTTP客户端,所以我看了一下用户代理。 答:很多不同的! 这里是一些顶级的: “okhttp / 3.2.0”,“python-requests / 2.10.0”,“Ruby”,“python-requests / 2.7.0”,“Mozilla / 5.0”,“Java / 1.8.0_91”,“python-requests /2.4.3“,”okhttp / 3.3.0“,”Lucee“,”Dalvik / 2.1.0“,”Google-HTTP-Java-Client / 1.21.0“,”PHP_appname“,”NativeHost“,”Java /1.7.0_67“,”Apache-HttpClient / UNAVAILABLE“,”Dalvik / 1.6.0“,”Web-sniffer / 1.1.0“,”unirest-objc / 1.1“ 各种不同的移动和服务器端语言库。 大多不是浏览器运行的JavaScript,但也有一些。 大多数人似乎没有注意到内容types是错误的,但是不时地出现一个新的支持请求,抱怨这个问题,所以我们想修复它。

Nginx的add_header为50 *页面

我目前正在尝试让nginx在发送某种types的50 *错误时向响应添加一个头。 我已经有一个http块的add_header指令,并得到尊重的所有请求,除了似乎错误。 我也在我的一个鬼中尝试了以下几点: location /mediocregopheristhecoolest { add_header X-Test "blahblahblah"; return 502; } 去那个页面给了我一个502,但没有标题。 这只是nginx不能做的事情,还是我做错了?

我怎样才能使nginx支持@ font-face格式并允许访问控制允许来源?

我已经将这些规则添加到mime.types : application/x-font-ttf ttf; font/opentype otf; application/vnd.ms-fontobject eot; font/x-woff woff; 现在,Content-Type头部被正确设置。 我现在唯一的问题是Firefox需要Access-Control-Allow-Origin。 我GOOGLE了这个答案,并将其添加到我的服务器指令: location ~* \.(eot|ttf|woff)$ { add_header Access-Control-Allow-Origin *; } 但现在我的字体根本没有被服务。 相反, error.log报告它试图在本地文件系统上打开它们。 2010/10/02 22:20:21 [error] 1641#0:* 15 open()“/usr/local/nginx/html/fonts/mgopenmodernabold-webfont.woff”失败(2:没有这样的文件或目录) ,客户端:69.164.216.142,服务器:static.arounds.org,请求:“HEAD /fonts/mgopenmodernabold-webfont.woff HTTP / 1.1”,主机:“static.arounds.org” 任何想法可以用语法closures? 我是否需要明确添加规则,说不要试图在本地打开它或什么? 编辑 :我认为问题是我现在服务2个不同的位置。 而不是我应该做的主正面的正则expression式检查然后喂给头。

是否有任何理由在Apache中保留“服务器”响应标头

我的服务器用Server: Apache/2.2.15 (CentOS)响应所有的请求。 我想这就让我的服务器体系结构更容易破解。 这对网页浏览器有用吗? 我应该继续吗?