使用端口告诉我的服务器哪个网站返回而不是从HTTP请求获取信息有什么缺点吗? 是否有一个最佳实践来决定使用哪个端口范围? 据我所知,如果我依赖HTTP请求,可能很难使用HTTPS,但我目前不打算使用HTTPS。 我相信我可以在每个网站域中设置一个DNSlogging,告诉它通过SRVlogging映射到我的服务器上的哪个端口。 服务器是一个简单的使用HTTP库的golang程序。 该机器是通过Google Compute Engine托pipe的具有静态IP地址的Debian VM。 这两个选项都依赖于golang库,允许我指定一个端口,或者允许我parsinghttp请求,这两者我都可以做。 我相信端口选项将导致运行多个服务器“进程”,这将是单独的golang程序,可能是复杂的pipe理(跟踪哪些站点在哪个端口),而HTTP请求选项将导致运行单个服务器进程可以为所有的网站提供服务,这些网站可能稍微复杂一些,但容易维护。
我有一台配有16GB内存的专用服务器,运行Centos 7的Xeon E5504(8核2.0GHZ)。我运行了顶层命令,可以看到7个内核在大部分时间都处于闲置状态,然后是一个内核全力以赴 我看到它超过100%,我不明白。 %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 16479600 total, 1233968 free, 616824 used, 14628808 buff/cache KiB Swap: 523260 total, 499720 free, 23540 used. 15342640 avail Mem 该服务器仅用作Web主机。 Apache,MySQL和PHP。 我havnt从默认configuration做了任何更改的Apache。 我听说默认的apacheconfiguration支持multithreading,但显然不是这种情况。 mysqld和httpd是唯一使用大量资源的东西。 总共apache每周获得大约10万个请求。 绰绰有余的这台服务器,但作为我继续增加更多的网站,我不想慢下来,因为一切都在同一个CPU上。 我读到它似乎“prefork”需要修改,以使Apache获得更多的资源。 我运行以下命令来查看默认configuration,它看起来不像prefork甚至安装 /usr/sbin/apachectl -l Compiled in […]
我们在CentOS 7上运行LAMP堆栈。大概一年没事了。 但是今天我们只看到了loading averages 。 我们检查top没有看到任何高负载的特定进程,但有一个非常多的Apache进程stream运行。 试图重新启动Apache几次,但没有帮助。 最后决定重新启动MySQL 。 这短暂地减less了负载,但不是很长。 然后决定重新启动服务器。 这也只是简单地减less了负载。 日志不显示太多的外部连接: $ sudo tail -n 500 /var/log/httpd/access_log | cut -d' ' -f1 | sort | uniq -c | sort -gr 395 ::1 101 127.0.0.1 3 66.102.6.91 1 66.102.6.89 会发生什么事? 我们如何解决这个问题? 编辑1:更多细节 负荷平均值介于50和300之间。在某一点上,我们有这样的: $ uptime 10:33:28 up 317 days, 22:36, 2 users, load average: […]
我们有一些客户仍然在偏远地区使用拨号。 禁用HTTP并强制他们使用HTTPS后,其中一些办事处表示无法连接。 我在网上search,只确认我迄今为止的知识 – 拨号使用PSTN连接到互联网,应该能够支持HTTP / HTTPS。 我能想到的唯一可能的原因是我们目前TLS密码套件的平台可支持性。 但是,客户正在使用我们的软件的最新版本,并在Windows 7. LMK上工作
我希望任何传入的HTTP请求(不pipe域名)以特定path开始发送到本地服务器。 例如: location /special/path/ { proxy_pass http://127.0.0.1:8000/; } 如果给定的域名没有匹配的server {}块,Nginx会将请求路由到default_server 。 但是我需要将请求始终路由到本地服务器, 即使find匹配的server {}块也是如此 。 我将如何去做这件事? 奖励:如果有一种方法可以在当前设置了default_server的server {}之外执行此操作,那就太棒了。
我有一个监听端口80的远程web服务器,它通过100 <img />标记来加载100个单独的.png文件(来自相同的服务器和主机名)。 在那个远程服务器上,我watch -n 1 "netstat -na | fgrep ":80 " | fgrep 123.123.123.123" (其中123.123.123.123是我的客户端计算机的外部IP),当我访问我通常看到的那个页面从我的客户端计算机到服务器的5-6个连接。 我使用chrome或者firefox来做这个页面请求,并且通过使用F12开发工具来检查这些请求中的任何一个(页面或者任何png文件),我看到请求头部Connection:keep-alive 。 我也通过查看Web服务器日志证实,所有这些请求都是使用HTTP/1.1 ,我认为这些请求默认使用。 所有上述事实和观察意味着101个请求(1页+ 100 png)经过5-6个连接,而不是通过101个连接。 我的问题是,我怎么能禁用保持在铬或Firefox的活着? 在Firefox中,我尝试在about:config设置以下内容,但是在此行为中并没有改变任何内容: network.http.keep-alive.timeout;0 network.http.tcp_keepalive.long_lived_connections;false network.http.tcp_keepalive.long_lived_idle_time;0 network.http.tcp_keepalive.short_lived_connections;false network.http.tcp_keepalive.short_lived_idle_time;0 network.http.tcp_keepalive.short_lived_time;0 network.tcp.keepalive.enabled;false network.tcp.keepalive.idle_time;0 network.tcp.keepalive.retry_interval;0 如果我必须在O / S级(Windows或Linux)上执行某些操作来禁用活动,使用不同的(甚至是自定义的)浏览器,甚至使用某种可以取消这种行为的Web代理,我都可以。
我正在使用nginx,我想知道是否有可能做到这一点。 现在要pipe理我的虚拟主机,我分别在/ etc / nginx / sites-available(在之后激活它们) mydomain.com subdomain.mydomain.com subdomain1.mydomain.com anotherdomain.com 所以要将httpredirect到https,我创build了一个redirect虚拟主机,其中包含: server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://$host$request_uri; } mydomain.com和所有其他子域都在https下。 但问题是anotherdomain.com,我不想redirect到https。 在这里,我不知道该怎么做。 我有一个主意 : 仅在包含所有configuration的虚拟主机上创build,然后执行以下操作: # Config of anotherdomain.com # Redirect all domain/subdomain after this part to https server { listen 80 default_server; listen [::]:80 default_server; server_name _; […]
什么技术可以用于一个应用程序,为小型资源受限的主机(例如Rasbperry Pi或类似的)上的许多并发用户提供服务? 也就是说,它不需要像Apache这样的通用Web服务器,因为它只需要支持一个应用程序和几个活动的网页,但是需要多个连接。 我了解大型服务器上的Apache / PHP / MySQL,但是这似乎需要太多的资源来支持在一个小型主机上同时进行多个连接(每秒连接100个) – 每个连接在其自己的副本中冗余加载相同的解释码。 我想,例如,跳过通用Web服务器,并有一个内存驻留编译C + +程序,服务许多并发HTTP连接 – 重量轻,速度快。 应用程序将相当简单。 或者可能是轻量级Web服务器的附件或模块。 或者,也许像node.js,如果这是非常节约资源,即使在一个小主机容易扩展。 我甚至不知道我正在寻找的编程风格的术语或关键字,因此我的问题。 我尝试了StackOverflow,build议树莓派交换,build议交换。 任何提示或线索?
当我导航到http://example.com它正确地redirect到https://example.com 。 我遇到的问题是,当我导航到http://example.com/sub/directory/page.htm它redirect到https://example.comsub/directory/page.htm 。 为什么不redirect到https://example.com/sub/directory/page.htm ? 这里是Apache的configuration: <VirtualHost *:80> ServerName example.com Redirect permanent / https://example.com/ </VirtualHost> <IfModule mod_ssl.c> #NameVirtualHost *:443 <VirtualHost *:443> ServerName example.com […] ProxyRequests Off ProxyPass / http://localhost:8444/ ProxyPassReverse / http://localhost:8444/ </VirtualHost> 我正在使用的Apache版本: Server version: Apache/2.4.18 (Ubuntu) Server built: 2017-09-18T15:09:02
我有两台电脑。 其中一个服务器正在运行,另一个则有一个与该服务器通信的应用程序。 这些电脑被部署到各个网站。 有时候这些电脑可以直接连接在一起,有时候它们只能通过我无法控制的无线连接来连接。 作为附加要求,如果连接可用,服务器也需要能够使用dhcp访问互联网。 目标是能够将这些计算机放置在办公室,然后将它们部署到几乎没有现场configuration的站点。 我能做些什么来确保运行应用程序的计算机可以总是(或尽可能多的情况下)find服务器并与之通信(通过端口80的HTTP)。 我的想法是设置多个IP的服务器。 它可以使用一个DHCP访问互联网。 另一个将被设置为静态IP。 应用程序计算机将被configuration为提前知道该静态IP地址并向其发出请求。 但是,在说明如何完成它的教程中,我必须input我的网关和子网掩码。 而不是这些改变取决于我join的networking? 请原谅,如果我失去了非常明显的东西或忽略其他因素。 我对networking一无所知。 如果有一块硬件可以提供帮助,那很好。 这是Vista和XP。