我们有一个有时会挂起的应用程序服务器。我们怀疑这是由于来自客户的错误请求。
nginx 能否将完整的请求/响应(如 fiddler 捕获)记录到文件中,以便我们可以看到挂起之前发送的请求?
(我们可能需要避免 pcap 和这种方法,并在 nginx 中完成所有操作)
如果 nginx 不是用于此的正确工具,那么可能是什么(除了网络分析器)?
我有以下 nginx 配置,例如
server {
listen 80;
server_name example.com
allow 127.0.0.0/8;
Run Code Online (Sandbox Code Playgroud)
当我重新启动时,它警告我:
Restarting nginx: nginx: [warn] server name "127.0.0.0/8" has suspicious
symbols in /etc/nginx/sites-enabled/xxx
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我有一台服务器一直正常工作,直到 2013 年 10 月 3 日上午 10:50,它开始间歇性地向客户端返回“502 Bad Gateway”错误。
大约五分之四的浏览器请求成功,但大约五分之一的请求失败并显示 502。
nginx 错误日志包含数百个这样的错误;
2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk request: ""GET /?_n=Fridgefreezer/Hotpoint/8591P;_i=x8078 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.bec-components.co.uk"
Run Code Online (Sandbox Code Playgroud)
但是 PHP 错误日志不包含任何匹配的错误。
有没有办法让 PHP 给我更多关于它为什么要重置连接的信息?
这是nginx.conf;
user www-data;
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 30;
tcp_nodelay on;
client_max_body_size 100m; …Run Code Online (Sandbox Code Playgroud) 如何设置一个 nginx proxy_pass 指令,该指令还将包含发送到代理主机的 HTTP 基本身份验证信息?
这是我需要代理到的 URL 示例:
http://username:password@192.168.0.5/export?uuid=1234567890
Run Code Online (Sandbox Code Playgroud)
最终目标是允许一台服务器在不暴露代理服务器的 URI 的情况下,允许另一台服务器(我们代理的服务器)显示文件。通过遵循此处找到的 Nginx 配置,我现在可以正确运行 90%:
http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/
我只需要添加 HTTP Basic 身份验证以发送到代理服务器
我见过有人建议将所有这些组合在一个流程中,但它们似乎有很多重叠的功能,所以我想深入了解为什么您可能想要在访问实际 Web 服务器之前通过 3 个不同的程序。
nginx:
漆:
快乐代理:
将所有这些链接到您的主要 Web 服务器之前是否只是为了获得它们的一些主要功能优势?
让这么多守护进程一起做类似的事情似乎很脆弱。
您的部署和订购偏好是什么?为什么?
我正在尝试让这 2 个位置指令在 Nginx 中工作,但是在启动 Nginx 时出现了一些错误。
location ~ ^/smx/(test|production) {
proxy_pass http://localhost:8181/cxf;
}
location ~ ^/es/(test|production) {
proxy_pass http://localhost:9200/;
}
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误:
nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block
Run Code Online (Sandbox Code Playgroud)
有没有人觉得很熟悉?我在这里错过了什么?
介绍
我有一个开发服务器(目前运行 Ubuntu 14.04 LTS),我已经使用了一段时间来在不同端口上托管各种开发工具。因为端口很难记住,所以我决定将端口 80 用于我的所有服务,并根据主机名在内部进行端口转发。
而不是写 domain.com:5432,我可以简单地通过 sub.domain.com 访问它
例如,使用端口 7547 并在 sub.domain.com 上运行的应用程序 X 具有以下 nginx 配置:
upstream sub {
server 127.0.0.1:7547;
}
server {
listen 80;
server_name sub.domain.com www.sub.domain.com;
access_log /var/log/nginx/sub.log combined;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:7547;
proxy_set_header Authorization "";
}
}
Run Code Online (Sandbox Code Playgroud)
问题
鉴于我选择的当前配置结构,是否可以使用 letencrypt 并在 https 下运行不同的服务?
我有一堆重写规则,我必须将它们从 apache 移植到 nginx。
这是一个相当痛苦的过程,因为我无法查看我的重写规则和“如果”条件是否按我希望的那样工作。
Apache 确实对其重写模块进行了调试。我可以为 nginx 做什么?
我有一个 PHP 脚本,它创建一个目录并将图像输出到该目录。这在 Apache 下运行得很好,但我们最近决定切换到 NGINX 以更多地利用我们有限的 RAM。我正在使用 PHP mkdir() 命令来创建目录:
mkdir(dirname($path['image']['server']), 0755, true);
Run Code Online (Sandbox Code Playgroud)
切换到 NGINX 后,我收到以下警告:
Warning: mkdir(): Permission denied in ...
Run Code Online (Sandbox Code Playgroud)
我已经检查了父目录的所有权限,所以我确定我可能需要更改 NGINX 或 PHP-FPM 'user' 但我不知道该怎么做(我从来没有指定用户APACHE 的权限)。我似乎找不到这方面的太多信息。任何帮助都会很棒!
(注意:除了这个小问题,切换到 NGINX 的过程非常顺畅;我是第一次使用它,实际上只用了 10 分钟就可以启动并运行 NGINX。现在我只是在熨烫解决问题。)
我正在使用启用 gzip 的 nginx 反向代理缓存。但是,我从 Android 应用程序 HTTP 请求到我的 Rails JSON Web 服务时遇到了一些问题。似乎当我关闭反向代理缓存时,它工作正常,因为响应标头没有 gzip。因此,我认为问题是由gzip引起的。什么是最合适的 gzip 压缩级别?
gzip on;
gzip_http_version 1.0;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css text/javascript application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss;
Run Code Online (Sandbox Code Playgroud) nginx ×10
proxy ×2
apache-2.2 ×1
gzip ×1
haproxy ×1
http ×1
https ×1
jira ×1
lamp ×1
lets-encrypt ×1
linux ×1
mod-rewrite ×1
permissions ×1
php ×1
proxypass ×1
regex ×1
varnish ×1
web ×1