我正在Azure CDN 上阅读这篇文章。我可以通过以下方式控制缓存:
前两种选择的优点和缺点是什么?有关系吗?
一个人可能工作的地方与另一个人可能工作的地方可能是:
...该数据要么通过这些方法可见,要么通过其他方法可见。
我\xe2\x80\x99m 在 Nginx 后面运行 Jenkins,并使用 Let\xe2\x80\x99s 加密 SSL 证书。如果我通过访问该网站https://jenkins.mydomain.de/,一切正常。但是当我通过 访问它时http://jenkins.mydomain.de/,Firefox 说 \xe2\x80\x9cConnection was Reset.\xe2\x80\x9d 并且curl 说 \xe2\x80\x9c来自服务器的空回复\xe2\x80\x9d
我该如何调试这个?我真的不知道在哪里寻找问题。nginx 日志 don\xe2\x80\x99t 包含任何有关它的信息。我怀疑下面配置中有关端口 80 的部分因其他指令而无效,但我不\xe2\x80\x99 不知道如何调查它。
\n\n$ curl -svL http://jenkins.mydomain.de/\n* Hostname was NOT found in DNS cache\n* Trying my.ip.add.ress...\n* Connected to jenkins.mydomain.de (my.ip.add.ress) port 80 (#0)\n> GET / HTTP/1.1\n> User-Agent: curl/7.38.0\n> Host: jenkins.mydomain.de\n> Accept: */*\n> \n* Empty reply from server\n* Connection #0 to host jenkins.mydomain.de left intact\nRun Code Online (Sandbox Code Playgroud)\n\n当使用 telnet 与服务器通信时,只要我按一次 return (即之后GET / HTTP/1.1 …
我们有一个重写配置,在如下配置中将 ARR 视为反向代理:
Browser client (OriginA) <-> IIS/ARR (OriginB) <-> Server
Run Code Online (Sandbox Code Playgroud)
客户端是任意数量的网络浏览器。我们无法更改此配置。
Location标头设置为http://origina/done.html和 HTTP 302。我已使用 Wireshark 验证了这一点。Location标头更改为http://originb/done.html。这就是问题开始的地方。Location。LocationGENERAL_RESPONSE_HEADERS 步骤中的标头。我已经启动了失败请求跟踪,这就是我看到的第 5 步和第 6 步。
是什么导致 IISLocation在 ARR 之前重写标头?我可以使用其他任何 IIS 工具来解决这个问题吗?
我在服务器上收到此错误(CentOs 7):
[proxy:debug] proxy_util.c(2209): [client 80.251.245.153:61902] AH00944: connecting fcgi://127.0.0.1/data/webs/dev/index.php to 127.0.0.1:8000
[proxy:debug] proxy_util.c(2246): [client 80.251.245.153:61902] AH02545: fcgi: has determined UDS as /tmp/php56-fpm.sock
[proxy:debug] proxy_util.c(2418): [client 80.251.245.153:61902] AH00947: connected /data/webs/dev/index.php to httpd-UDS:0
[proxy:error] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /tmp/php56-fpm.sock (*) failed
[proxy_fcgi:error] AH01079: failed to make connection to backend: httpd-UDS
[proxy:debug] proxy_util.c(2171): AH00943: FCGI: has released connection for (*)
Run Code Online (Sandbox Code Playgroud)
套接字存在,我尝试将权限更改为 777,但不起作用:
ls -l /tmp/php56-fpm.sock
-rw-rw----. 1 apache apache 0 Feb 17 16:11 …Run Code Online (Sandbox Code Playgroud) 使用 nginx 作为带有 PHP 后端的 Apache 的 HTTP 反向代理(我需要为网站管理员提供 .htaccess 灵活性)。看到 Apache 日志中使用的 http/1.0 让我了解如何启用保持活动连接。
在我的搜索中,我发现了 Nginx 的这篇博客文章https://www.nginx.com/blog/avoiding-top-10-nginx-configuration-mistakes/#no-keepalives
默认情况下,NGINX 为每个新的传入请求打开一个到上游(后端)服务器的新连接。这是安全但效率低下的,[...]
如果默认行为是安全的,那么启用上游 keepalive 的风险是什么?
我正在考虑根据他们提供的服务为我们的服务器设置主机名约定,例如 http、https、smtp、pop、dns、sql 等。每个服务都在 Xen 主机服务器 (dom0) 上的自己的虚拟机上),其中有多个 Xen 主机服务器 (10+)。我已经阅读了 Sun 的 Mark Garner 和 RFC 1178 的 Datacenter Naming Scheme 以及一些 Google 搜索,但这些搜索似乎侧重于拥有许多只执行少数服务的服务器,例如更大的数据库集群(10+)服务器、大型 Web 服务器集群、大型邮件服务器集群等。在我的情况下,我们正在使用小型虚拟服务器集群 (2-4) 来提供大量服务 (12+)。在这方面,我不喜欢为每个服务使用不同的主机名主题的想法,例如所有邮件服务器都以鸟类命名,树之后的所有数据库服务器,等等,因为我认为它会因为很少的主机和很多不同的服务而变得混乱。我想知道是否有人有在这样的环境中定义主机名的好主意。谢谢你。
我们想运行一个仅限 SSL 的 lighttpd 进程。应该使用哪个配置选项来关闭端口 80 及其未加密的流量?
Lighttpd 文档仅提供对 https 流量的“重定向”,但我们希望在端口 80 上完全静音。我们希望 lighttpd 仅在 443 上侦听加密(https)流量。
更新【解决方案】
仅设置“ server.port = 443”没有帮助。SSL 配置是:
$SERVER["socket"] == "0.0.0.0:443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/cert.pem"
}
Run Code Online (Sandbox Code Playgroud)
那给出了错误。
can't bind to port: 0.0.0.0 443 Address already in use
Run Code Online (Sandbox Code Playgroud)
删除条件 SSL 完全解决了问题,配置变为:
server.port = 443
ssl.engine = "enable"
ssl.pemfile = "myweb.pem"
Run Code Online (Sandbox Code Playgroud) 我使用的URL所有的时间打字他们在使用和不使用“ // ”的“后HTTP: ”但什么是“ // ”真正代表什么?
好的:我已经建立了一个站点,其中包含一些我们向开发人员公开的 API,它们采用以下格式
/api/item.xml?type_ids=34,35,37®ion_ids=1000002,1000003&key=SOMERANDOMALPHANUM
Run Code Online (Sandbox Code Playgroud)
在这个 URI 中,type_ids 总是被设置,region_ids 和 key 是可选的。
需要注意的重要一点是,关键变量不会影响响应的内容。它用于请求的内部跟踪,因此我们可以识别发出缓慢或其他不需要的请求的人。
在 Varnish 中,我们有一个像这样的 VCL:
if (req.http.host ~ "the-site-in-question.com") {
if (req.url ~ "^/api/.+\.xml") {
unset req.http.cookie;
}
}
Run Code Online (Sandbox Code Playgroud)
我们只是去除 cookie 并让后端完成其余的工作(就时间而言,这是一种 hackaround,因为 Rails/authlogic 发送带有 API 响应的会话 cookie)。
但目前,任何不同的开发人员基本上都在访问不同的缓存,因为它们&key=SOMEALPHANUM被视为 Varnish 哈希存储的一部分。这显然不是一个很好的解决方案,我正在尝试找出如何告诉 Varnish 忽略 URI 的那部分。
我最近被问到“是什么导致我们的 access.log 中出现这样的一行?”
59.56.109.181 - - [22/Feb/2010:16:03:35 -0800]“获取http://www.google.com/ HTTP/1.1" 200 295 "-" "Mozilla/5.0(兼容;MSIE 5.01 ; Win2000)"
我的直接回答是有人在探索一些有点狡猾的东西。
但:
这是在标准 LAMP 服务器 (Ubuntu) 上。