我最近遇到了一个情况,我运行的Web服务器不能再提供HTTPSstream量(由于一些SSL证书问题)。 由于服务器无法处理此stream量,因此我无法使用Apacheredirect规则redirect到非https。 然后我尝试在防火墙/ NAT设备上将XXXX:443redirect到XXXX:80,但似乎无法使其工作。 我不问如何做到这一点,因为它是特定于我的基础设施和设备。 但是有没有可能做到这一点? 一位同事build议,由于客户端正在请求安全连接,因此我们可能无法做到这一点,因为我们正在以不安全的连接进行响应。 这将不同于用302响应,并强制客户端使用apacheredirect对非https进行新的请求。
我正在ec2实例上使用apache2 webserver,我正在尝试使用一个简单的go脚本,我可以做一个get请求。 我的scipt看起来像这样: package main import ( "net/http" "fmt" ) func say_hi(w http.ResponseWriter, r *http.Request) { fmt.Printf("\033[0;32m%v\033[0m\n", r) fmt.Fprint(w, fmt.Sprint("Hi")) } func main() { http.HandleFunc("/say_hi", say_hi) ip_address := "0.0.0.0:8080" fmt.Printf("Set up ip address: %s\n", ip_address) error := http.ListenAndServe(ip_address, nil) if error != nil { fmt.Println(error) } } 当我在我的ec2服务器上运行脚本时,出现以下错误: listen tcp 0.0.0.0:8080: bind: address already in […]
我是AWS新手,我有一个t2微型实例。 我只用它来用nginx来托pipe一个静态的网站。 真正奇怪的是公共ipaddress(我用于SSH)和eth0 ip地址不一样。 因此,当我在URL中使用我的ssh public ipaddress时,httpstream量没有到达服务器。 我没有使用任何习惯性的安全组织。 现在一切都是默认的。 当公网地址与eth0地址不同时,如何获得httpstream量到服务器? 或者我如何获得httpstream量到达我的服务器? nginx日志显示不能访问。
在nginx日志中看到这个: "upstream": "52.86.112.192:443, 52.86.78.197:443", "upstream_response_time": "7.005, 7.016", nginx的文档说: If several servers were contacted during request processing, their addresses are separated by commas, eg “192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock”. 不幸的是,我不清楚在处理1个请求时如何调用两个服务器? 这是没有内部redirect? 第一次尝试失败后是否重试? DNS查询返回两个Alogging: xxx.us-east-1.elb.amazonaws.com. 60 IN A 54.84.139.107 xxx.us-east-1.elb.amazonaws.com. 60 IN A 52.71.207.21 这是否意味着,比nginx自动重试每个失败的请求? 还是可以configuration? (这是AWS,因此负载均衡器的IP不断变化)
我有2个HTTP服务器运行在1 VPS。 如果我从一个HTTP请求到另一个。 到底发生了什么? 它是通过互联网和回? 还是在VPS内处理? 主持:数字海洋 系统:Ubuntu 14.04 服务器:Nginx Web服务器1:PHP Web服务器2:NodeJs
tl:dr:httpstream量在httpsstream量不可靠或非常缓慢(2-5分钟加载时间)的情况下可靠,快速地工作。 下面的细节。 嘿服务器故障,我有一个很好的给你。 这是第二个星期开始的一个新的地方,在我雇用前一周刚刚扩大到第15个地区办事处。 新办公室正在使用一个临时的蜂窝MPLS连接,而我们等待机组人员进入强制线路。新办公室正在使用与另外14个办公室相同的硬件和固件,用于mpls,经过多次validation。 Web过滤和防火墙发生在我们的DC中,而不在这个新的办公地点。 我想把它称为中心和辐射networking,但是由于我在“清理”过程中被雇佣了,而且文档很less,而且我从来没有在这个复杂的环境中工作,所以我无法确定。 问题: 用户有一些他们需要用来完成工作的https站点。 这些网站将不会定期加载,如果这一切。 如果我不得不在上面写上一个数字,他们会在50次尝试中加载一次,然后加载下一页。 奇怪的是,(浏览器)头和URL几乎每次都会加载,但没有其他的东西会加载过去的。 同时http加载正常。 在这个办公室里有一个服务器(DC,文件服务器,DNS)(就像所有其他的分支一样),它的复制问题可能与这个问题有关。 我们检查了以下内容: 禁用主机上的AV /防火墙 我们可以一直ping通有问题的网站 我们已经多次更改IE中的SSL / TLS设置 在网页filter上,日志显示所有的HTTPS网站都被允许进入这个分支 在防火墙上,日志显示所有HTTPSstream量正在通过/未扫描发送给该分支 我们的MPLS提供商在HQ MPLS路由器中发现了一个错误configuration,“固定”了这个,但是这并没有提供任何改变 来自testing工作站的stream量; 与这些站点的通信存在,但远程主机发送保持5分钟,然后重置连接,即当我们看到“页面无法显示”错误 我一直在调整,调整,播放,阅读日志,双倍/三重检查,称ISP和谷歌search4天现在尝试我能find的一切,没有任何改变(更糟或更好)。 我最后的想法是,它可能是缓慢的蜂窝MPLS连接(1-3 Mbps; 12个用户/ 12个VoIP电话/ 1个服务器),但我坚持认为,因为我觉得它也会出现在HTTPstream量中。
根据我的理解,服务器在响应消息中使用Connection: Keep-Alive头,告诉客户端在发送响应消息后不会closures连接。 但是服务器是否需要在响应消息中包含这个头部? 或者它是服务器在发送响应消息之后不closures连接的默认行为,如果服务器想要closures连接,那么它将使用Connection: close标头? 我正在谈论HTTP / 1.1。
如果我为我的apache服务器启用了H2,并在HTML Dokument上指定了一个预加载的链接头,服务器执行H2服务器推送,因为它parsing了链接头 – 到目前为止这么好。 问题是这个推送的资源是在没有压缩的情况下交付的。 我猜这是因为服务器推送剂量不会创buildHTTP请求,因此不提供accept-encoding请求标头。 事情是,如果客户端必须下载未压缩的内容,我不会得到任何性能改进。 仍然可以提供压缩的内容吗? 也许是基于HTML文档中的accept-encoding请求头? 我的Apacheconfiguration : <VirtualHost *:443> Protocols h2 http/1.1 […] <Location /index.html> Header add Link "</css/all.min.css>;rel=preload;as=style" </Location> […] </VirtualHost> HTML标题 : 从HTML文档请求标题 accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 accept-encoding:gzip, deflate, sdch, br accept-language:de,en-US;q=0.8,en;q=0.6 cache-control:no-cache 来自HTML文档的响应标题 accept-ranges:bytes cache-control:no-transform,public,max-age=300,s-maxage=900 content-encoding:gzip content-length:2183 content-type:text/html etag:"2472-5385af4b7bbda-gzip" last-modified:Sun, 24 Jul 2016 05:29:47 GMT link:</css/all.min.css>;rel=preload;as=style server:Apache/2.4.18 (Debian) status:200 vary:Accept-Encoding 来自/css/all.min.css的响应标题 […]
我有一个端口3000上运行的服务。我成功地使用下面的nginx指令指向一个URL的地址: server { listen 80; server_name notes.mydomain.foo; location / { proxy_pass http://localhost:3000; } auth_basic "Get lost!"; auth_basic_user_file /etc/nginx/.htpasswd; } 也就是说,当有人去http://notes.mydomain.foo/时 ,nginx成功完成了将请求反向代理到xxx.xxx.xxx.xxx:3000的工作,并向用户展示了一个基本的HTTPauthentication请求。 但是,如果我将浏览器直接指向xxx.xxx.xxx.xxx:3000,auth_basic将被绕过,任何人都可以访问应该限制的内容。 如何在public URL和ip:port地址上启用auth_basic?
我已经在ubuntu 16.04上设置了apache2.4.1,以便在端口80和443上同时处理http和https通信。我可以浏览到这两个站点,没有任何问题。 服务器可以通过公共IP和私有IP进行访问 – 远程api服务通过vpn将stream量发送到我的服务器。 这是我的apachectl -S结果 *:80 APPSERVER.example.com (/etc/apache2/sites-enabled/000-default.conf:1) *:443 is a NameVirtualHost default server APPSERVER.example.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2) port 443 namevhost APPSERVER.example.com (/etc/apache2/sites-enabled/000-default-ssl.conf:2) port 443 namevhost APPSERVER.example.com (/etc/apache2/sites- enabled/default-ssl.conf:2) ServerRoot: "/etc/apache2" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/var/log/apache2/error.log" Mutex rewrite-map: using_defaults Mutex ssl-stapling-refresh: using_defaults Mutex ssl-stapling: using_defaults Mutex ssl-cache: using_defaults Mutex default: dir="/var/lock/apache2" mechanism=fcntl Mutex mpm-accept: […]