我们在nginx.conf很长一段时间内都有这个设置。
sendfile on;
Run Code Online (Sandbox Code Playgroud)
当我们更新了一个文件,例如/js/main.js从浏览器https://test.com/js/main.js?newrandomtimestamp访问时,它仍然会加载旧版本,除非我们从浏览器中完全刷新(清除缓存)。
但是当我们从 sendfile 更改设置时;发送文件关闭;浏览器将加载更新文件的正确版本。
对于我们的生产网络服务器,我们应该使用 sendfile 吗?或发送文件关闭;?如果发送文件打开;是必需的(可能是为了更好的缓存?更快的性能?) 那么如何解决上面提到的问题?
以下是nginx.conf我们生产服务器中的,我们使用的是 1.7.5 版本:
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 51200;
events {
use epoll;
worker_connections 51200;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
client_max_body_size 8m;
sendfile on;
keepalive_timeout 65;
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
large_client_header_buffers 4 32k;
gzip on;
gzip_min_length 1k; …Run Code Online (Sandbox Code Playgroud) 我见过很多使用公共 STUN 服务器的 WebRTC 客户端库,如下所示:
"stun.l.google.com:19302",
"stun1.l.google.com:19302",
"stun2.l.google.com:19302",
"stun3.l.google.com:19302",
"stun4.l.google.com:19302",
Run Code Online (Sandbox Code Playgroud)
我想知道上面的服务器是否已经死了?因为我已经尝试过:
telnet stun.l.google.com 19302
telnet stun.l.google.com 3478
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
telnet: connect to address 74.125.204.127: Operation timed out
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)
同样的事情发生在列表中的其他谷歌 STUN 服务器上。
我无法得到任何回应,这是否意味着 Google 的 STUN 服务器不再可用?
我的问题是:上面的 telnet 是否是确定服务是否存在的正确方法?
我遵循了https://help.ubuntu.com/community/IptablesHowTo#More_detailed_Logging 中的iptable 日志示例
sudo iptables -I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
Run Code Online (Sandbox Code Playgroud)
我得到如下的日志条目
Oct 20 03:45:50 hostname kernel: iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=x.x.x.x DST=x.x.x.x LEN=1059 TOS=0x00 PREC=0x00 TTL=115 ID=31368 DF PROTO=TCP SPT=17992 DPT=80 WINDOW=16477 RES=0x00 ACK PSH URGP=0
Oct 20 03:46:02 hostname kernel: iptables denied: IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=x.x.x.x DST=x.x.x.x LEN=52 TOS=0x00 PREC=0x00 TTL=52 ID=763 DF PROTO=TCP SPT=20229 DPT=22 WINDOW=15588 RES=0x00 ACK URGP=0
Oct 20 03:46:14 hostname kernel: iptables …Run Code Online (Sandbox Code Playgroud) 目前,我的 php 应用程序使用 Apache 2.2.3 和 CentOS 5.4(运行在 5.3.7 上的 php),并且应用程序在 HTTPS 上运行并使用 Root CA 证书。
问题是我们在使用 IE9(仅限 IE9)时遇到了一些奇怪的问题。当IE9浏览器向我们的服务器提交HTTPS请求时,有时没有HTTPS响应。我注意到的是 IE9 会刷新页面。更具体地说,提到的页面是一个登录页面。所以当我输入用户名和密码并提交表单时,但没有响应并且 IE9 似乎再次重新加载相同的登录页面。(用户名和密码为空)
从应用程序级别进行跟踪时,我确实注意到我收到了用户名和密码,并且应用程序没有错误地结束。
主要的头痛是不能每次都重现。有时我们可以毫无问题地登录,但有时会出现上述问题。
现在我们公司有网络团队,开发人员等团队。我们的 apache 在负载均衡器下运行。网络人员声称他们从不更改任何设置,唯一的更改是我们的应用程序。但从开发人员的角度来看,这些变化与登录过程无关。
从我的角度来看,似乎一旦用户单击提交,应用程序(apache)就通过发送 HTML(HTTPS 响应)来完成它所做的事情,但是 HTML 不知何故奇迹般地在网络中消失了。我确实怀疑与连接保持活动有关吗?可能 IE9 浏览器代理处理它的方式不同,不知何故它认为连接失败并重新加载页面以重试?
但无论如何,我注意到 Apache 中 SSL conncetion 的以下设置:
SetEnvIf User-Agent ". MSIE. " \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0
不确定我们如何设置以排除 IE9 及更高版本?当我进行搜索时,上述设置是为了解决 IE 与 Apache 连接时的一些长期存在的问题。但是由于IE9是全新的,可能问题已经解决了,我们需要更新设置吗?
希望有人可以对此有所了解..
我正在一个网站上工作,我需要在 .htaccess 中使用重写命令。它不起作用,终于找到了我需要设置的问题
我的 Apache httpd.conf 中的“AllowOverride All”
我想知道当我将设置从“AllowOverride None”更改为“AllowOverride All”时是否应该注意任何安全问题?
谢谢!
当我执行 ulimit -n 时,我得到了 256,我认为这意味着我可以同时打开 256 个文件。这是否意味着我可以在一个会话中打开 256 个文件?还是所有会议?
例如,我使用用户名“abc”(通过 putty/ssh)登录到我的服务器,并打开 200 个文件,会话仍在运行,我再次使用相同的用户名“abc”(通过 putty/ssh)登录到同一台服务器),我只能再打开 56 个文件?或者我可以再打开 256 个文件?
最后,这个限制是否也限制了 http 连接的数量?例如,在上面的例子中,我打开了 200 个文件,然后我使用“wget”或“curl”来建立 http 连接。
谢谢
我们试图让 HAProxy 侦听来自端口 443(HTTPS 和 WSS)的所有传入流量
下面是我们的 HAProxy 配置:
frontend wwws
bind 0.0.0.0:443 ssl crt /etc/haproxy/server.pem
timeout client 1h
default_backend www_backend
backend www_backend
mode http
stats enable
stats uri /haproxy
option forwardfor
reqadd x-forwarded-proto:\ https
server server1 backend:3000 weight 1 maxconn 8192 check
Run Code Online (Sandbox Code Playgroud)
0.0.0.0:443(例如https://example.com)是我们的 HA 代理服务器,它监听所有传入的 443 流量后端:3000 是我们的 nginx 服务器,它被设置为监听 SSL 连接
我们现在面临的当前问题是,当我们输入https://example.com 时,浏览器显示以下错误:
400 Bad Request
The plain HTTP request was sent to HTTPS port
nginx/1.7.5
Run Code Online (Sandbox Code Playgroud)
当 haproxy 将流量转发到 nginx(后端:3000)时,它似乎确实会转换为 http。
我认为“reqadd x-forwarded-proto:\ https”应该确保它是https。 …
我正在使用 haproxy 版本 1.6.2
我已经使用下面的配置启用了 http2,我需要使用“模式 tcp”。但是一旦我从“模式 http”切换到“模式 tcp”,我就无法使用 acl path_beg
frontend websocks
mode tcp
bind *:443 ssl crt /etc/certs/domain.pem alpn h2,http/1.1 ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH; no-sslv3
timeout client 1h
acl is_api path_beg /api
acl is_xmpp path_beg /chat
use_backend api_backend if is_api
use_backend xmpp_backend if is_xmpp
use_backend fe_public_tcp if { ssl_fc_alpn -i h2 }
default_backend fe_public
fe_public
server fe1 localhost:444 weight 1 maxconn 4096 check inter 10000 ssl verify none
fe_public_tcp
mode tcp
server fe1 localhost:445
api_backend
server api1 localhost:9966
xmpp_backend
server …Run Code Online (Sandbox Code Playgroud)