我一直在四处寻找,但找不到直接的答案,如果有人可以澄清这一点,将不胜感激,谢谢!
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
Run Code Online (Sandbox Code Playgroud)
或/与?
upstream php {
server unix:/run/php-fpm/php-fpm.sock;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
可以X-FORWARDED-FOR包含多个IP地址吗?如果是这样,为什么?一个说明性的例子会很棒。
我想知道 nginx 是否能够在同一个端口上处理 http 和 https 请求。[*]
这就是我想要做的。我正在运行处理 http 请求的 Web 服务器 (lighttpd),以及通过 https 为文档树的特定部分提供服务的 C 程序。这两个进程运行在同一台服务器上。
在防火墙级别,我只能有一个端口将流量转发到此服务器。所以我想做的是在这台服务器上设置 nginx 以便它侦听单个端口上的请求,然后:
A) 重定向所有http://myhost.com/*请求,以便它们转到 localhost:8080(lighttpd 正在侦听的位置)
B) 如果用户请求以 https://myhost.com/app 开头的 URL,它会将该请求发送到 localhost:8008(C 程序)。请注意,在这种情况下,远程浏览器和 nginx 之间的流量必须加密。
你认为这可能吗?如果是,怎么做?
我知道如何使用两个不同的端口来做到这一点。我面临的挑战是仅使用一个端口来完成此操作(不幸的是,我无法控制此特定环境中的防火墙配置,因此这是我无法避免的限制)。使用诸如通过 ssh 进行反向端口转发来绕过防火墙的技术也不起作用,因为这应该适用于只有 Web 浏览器和 Internet 链接的远程用户。
如果这超出了 nginx 的能力,您知道还有其他产品可以满足此要求吗?(到目前为止,我在使用 lighttpd 和 pound 进行设置时没有成功)。我也更喜欢避免使用 Apache(尽管如果这是唯一可能的选择,我愿意使用它)。
提前致谢,亚历克斯
[*] 为了清楚起见,我说的是通过同一端口处理加密和未加密的 HTTP 连接。加密是通过 SSL 还是 TLS 完成都没有关系。
我有一个在 Amazon EC2 上运行的 Web 应用程序。它侦听端口 9898。
我可以通过输入IP地址和端口号来访问它。
例如 1.2.3.4:9898
但是,我真正希望能够做的是不必输入端口号。
对此进行研究,看起来端口转发可能是解决方案 - 即将在默认端口 (80) 上收到的 http 请求转发到我的非标准端口 (9898)。
这是正确的方法吗?如果是这样,我如何在 EC2 上进行设置?
如果没有,那么我如何实现我想要的?
在此先感谢您的帮助。
更新
我应该提到 EC2 实例是 Windows Server 2012 AMI。
http web-server port-forwarding amazon-ec2 windows-server-2012
我正在尝试了解 TCP/IP 堆栈中的应用层协议。我知道 HTTP 和 DNS 协议都停留在顶层(应用层)。因此,当浏览器想要访问资源时,它必须向 HTTP 服务器发送请求,例如:
GET www.pippo.it/hello.htm HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
这个请求遵循 HTTP 协议的规则,它使用页面 URL,而不是 IP 地址。
我知道将 URL 转换为 IP 需要 DNS 请求。所以我的问题是:HTTP 会调用 DNS 协议吗?这对我来说似乎是不可能的,因为两者都是顶层协议(因此 DNS 无法为 HTTP 提供服务)。以同样的方式,即使 TCP(停留在较低级别)也无法在更高级别的协议(如 DNS)上请求服务。
那么DNS请求什么时候发生呢?谁执行了这样的请求?
我看到一些奇怪的 HTTP 请求来到我的 nginx 服务器。
为了更好地了解发生了什么,我想转储此类查询的整个 HTTP 请求数据。(即,将所有请求标头和正文转储到我可以阅读的地方。)
我可以用 nginx 做到这一点吗?或者,是否有一些 HTTP 服务器允许我开箱即用,我可以通过 nginx 代理这些请求?
更新:请注意,此框有大量正常流量,我想避免在低级别(例如,使用tcpdump)捕获所有流量并稍后将其过滤掉。
我认为首先在重写规则中过滤良好的流量会容易得多(幸运的是,在这种情况下我可以很容易地编写一个),然后只处理虚假流量。
而且我不想将虚假流量引导到另一个盒子,只是为了能够在那里使用tcpdump.
更新 2:为了提供更多详细信息,虚假请求foo在其 GET 查询中具有命名(例如)参数(参数的值可能不同)。好的请求保证永远不会有这个参数。
如果我可以通过它tcpdump或ngrep以某种方式过滤- 没问题,我会使用这些。
我正在尝试从我的 nginx 网络服务器上的自签名证书转移到 Let's Encrypt 证书。
目前,我将所有请求重定向http/80到https/443,它使用我不久前创建的自签名证书。
现在 - 据我所知,Let's Encrypt 向端口 80 发出请求(因为我正在使用 的webroot选项certbot)。这些请求被重定向,导致证书生成失败。
我尝试使用以下服务器块来实现这一点,监听端口 80:
server {
listen 80;
server_name sub.domain.tld;
server_tokens off;
location /.well-known {
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
Run Code Online (Sandbox Code Playgroud)
但是无论如何/.well-known都将请求重定向到https/443。
我如何可以重定向所有的请求来自http/80于https/443,除了要求/.well-known/?
我正在尝试在不涉及任何代码的情况下实现跨域HTTP 访问控制。
我的 Apache(2) 服务器使用此块返回正确的访问控制标头:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"
Run Code Online (Sandbox Code Playgroud)
我现在需要阻止 Apache 在浏览器发送HTTP OPTIONS请求(它存储在REQUEST_METHOD环境变量中)时执行我的代码,返回200 OK.
当请求方法为 OPTIONS 时,如何配置 Apache 以响应“200 OK”?
我试过这个mod_rewrite块,但访问控制头丢失了。
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
Run Code Online (Sandbox Code Playgroud) 我想设置 statsd/graphite,以便我可以记录在 HTML 设备上运行的 JS 应用程序(即不在包含的 LAN 环境中,并且可能有大量我无法直接控制的传入数据)。
我的限制:
总之,数据路径:[client] -(http)-> [http2statsd] -(udp)-> [statsd] -(tcp)-> [graphite] -(nfs)-> [filer]
到目前为止我的发现:
所以我想知道是否有人有经验和最佳实践可以分享一个可靠的 statsd/graphite 部署?
理论上,浏览器不会将引用信息从 HTTPS 传递到 HTTP 站点。根据我的经验,这一直是正确的。但我刚刚发现了一个例外,我想了解它为什么有效,以便我也可以使用它。
在https://www.google.ca/上搜索“我的推荐人是什么”,
例如:https : //www.google.ca/search? q = what+is+my+referer
有几个站点会显示引用。他们似乎都在不应该“工作”的时候“工作”。例如,单击 www.whatismyreferer.com 之一。我得到:
Your referer:
https://www.google.ca/
Run Code Online (Sandbox Code Playgroud)
请注意,有时,我很少会得到“没有推荐人”的结果。返回并再次单击该链接,下次它就会“工作”。
这不应该发生。www.whatismyreferer.com 是一个非 HTTPS 站点。不应传递引用标头,但确实传递了。
这里发生了什么,我如何从我的 HTTPS 站点到我链接到的 HTTP 站点执行相同的操作?
http ×10
nginx ×4
https ×3
http-headers ×2
amazon-ec2 ×1
apache-2.2 ×1
graphite ×1
lets-encrypt ×1
lighttpd ×1
linux ×1
mod-rewrite ×1
php-fpm ×1
redirect ×1
scalability ×1
security ×1
statsd ×1
tcpip ×1
ubuntu ×1
web-server ×1