我有一个Nginx服务器,并禁用nginx_vhost.conf隐藏文件 ## Disable .htaccess and other hidden files location ~ /\. { deny all; access_log off; log_not_found off; } 但是,LetsEncrypt需要访问.well .well-known目录。 如何允许.well-known目录并拒绝其他隐藏的文件?
我最近把一个WordPress网站从一个小型商店从托pipe服务提供商移到了我自己运行的Ubuntu Server 12.04.2 LTS和Apache 2.2.22的服务器上。 我需要商店的SSL。 我在服务器的一个新的IP上设置了几个简单的虚拟主机,一个绑定到特定IP的端口80,另一个绑定到端口443.在虚拟主机configuration中都有ServerName www.example.com和ServerAlias example.com 。 我有SSLStrictSNIVHostCheck off 。 该网站运行非常缓慢,但正在工作。 我在我的错误日志中得到以下内容。 [Error] Hostname example.com provided via SNI and hostname www.example.com provided via HTTP are different 我期望缓慢与上述信息有关。 任何想法,为什么出现,我能做些什么呢?
我有一个Apache web服务器集群使用循环法进行原始负载平衡。 有没有办法让Firefox或铬请求从特定IP的服务器名称? 如果你只是inputhttp://1.2.3.4 ,它不会得到ServerName,如果你inputhttp:// servername ,你可以得到任何的服务器。
编辑#2 2015年7月23日:寻找一个新的答案,确定一个重要的安全项目错过了在下面的设置或可以给出理由相信一切都涵盖。 编辑#3 2015年7月29日:我正在寻找一种可能的错误configuration,比如无意中允许某些可能被利用来绕过安全限制或者更糟糕的事情而让事情变得更加严重。 这是多站点/共享主机设置,我们希望使用一个共享的Apache实例(即在一个用户帐户下运行),但PHP / CGI作为每个网站的用户运行,以确保没有网站可以访问另一个网站的文件,我们希望确保没有错过任何东西(例如,如果我们不知道符号链接攻击预防)。 以下是我到目前为止: 确保PHP脚本作为网站的Linux用户帐户和组运行,并且要么被监禁(如使用CageFS),要么至less使用Linux文件系统权限进行适当的限制。 使用suexec来确保CGI脚本不能以Apache用户身份运行。 如果需要服务器端包含支持(例如在shtml文件中),使用Options IncludesNOEXEC可以防止CGI在你不期望的情况下运行(尽pipe如果使用suexec,这应该不是那么重要)。 有符号链接攻击保护,以便黑客不能欺骗Apache以明文forms提供另一个网站的文件,并披露诸如DB密码之类的可利用的信息。 configurationAllowOverride / AllowOverrideList只允许黑客无法利用的任何指令。 如果上述项目正确完成,我认为这不是一个问题。 如果不是很慢并且不能以root身份运行,我会select使用MPM ITK,但是我们特别想使用共享的Apache,但是确保它安全地完成。 我发现http://httpd.apache.org/docs/2.4/misc/security_tips.html ,但这个话题并不全面。 如果知道这很有帮助,我们打算将CloudLinux与CageFS和mod_lsapi配合使用。 还有什么可以确保要做或知道吗? 编辑2015年7月20日:人们已经提交了一些很有价值的替代解决scheme,但请注意,这个问题只针对共享Apache安装的安全性。 特别是有没有覆盖以上可以让一个网站访问另一个网站的文件或妥协其他网站? 谢谢!
我是Zabbix和企业监控的新手。 我刚刚安装了Zabbix 2.4。 我试图监视所有我们的vhosts在不同的服务器上错位的状态。 到目前为止,我想出的唯一解决scheme是为每个要监视的vhost主机手动添加一个Web scenario到Zabbix服务器主机。 但它并不那么方便。 四处搜寻我find了一个具有部分function的论坛主题:使用从目标服务器读取所有vhosts (通过macro )的template ,并为每个vhost创build一个Web scenario 。 编辑 :此解决scheme(基于Zabbix 2.2)不起作用,因为不可能使用LLD(低级别发现)与Web scenarios 。 自从11月14日以来,有一个function请求在Web scenarios实现LLD 。 题 问题是如果在等待function实现的时候如何解决这个问题,或者我的方法是完全错误的,那么是否有一些解决scheme或者build议。
今天下午,我们办公室的某个人决定把我们的服务器拔出来,因为它正在外面猛冲。 他们没有把它关掉,只是在运行时把插头拔了出来。 该服务器在软件RAID 10configuration中具有4个SATA驱动器,并且在RAID之上运行LVM。 服务器正在运行CentOS 6.2 Minimal,并且是使用KVM的虚拟机主机。 在拔下电脑的时候,有很多客人机器正在运行。 每个guest虚拟机都有一个或多个LVM分区,它直接用作硬盘驱动器。 客户分区是EXT3,EXT4和NTFS。 主机操作系统位于EXT4分区上。 后来,当权力回来了,那个人把它插回去,然后启动了。 由于他们先插入显示器而没有连接显示器,因此无法查看屏幕上显示的内容。 我现在尝试连接显示器,但除非显示器在启动时连接,否则无法工作。 我已经把它打开了,直到我能得到一些build议,因为我不想把任何东西搞乱(进一步)。 我可以通过SSH进入主机。 我还没有重新启动它,以防万一在某个地方有什么东西可能是有用的。 我需要做的是检查所有的磁盘和分区的数据完整性,如果这是可能的。 我认为RAID 10使用某种基于内存的caching,而且我担心驱动器不一致,或者如果有提示写入到驱动器中的东西尚未写入,则文件被损坏。 [root@othello ~]# cat /proc/mdstat Personalities : [raid10] [raid1] md2 : active raid1 sdc1[2] sda1[0] sdd1[3] sdb1[1] 102388 blocks super 1.0 [4/4] [UUUU] md0 : active raid10 sda3[0] sdc3[2] sdd3[3] sdb3[1] 1952289792 blocks super 1.1 512K […]
我通常通过configurationpipe理来学习,特别是使用puppet来实现。 我已经做了一些通用的研究( 也在SF上 ),现在我正在考虑Apache VirtualHosts。 我们在两个系统上托pipe了很多LAMP网站(目前在几百个范围内):一个Apache2 / mod_php一个和一个MySQL一个 – 基本上与SF上的另一个问题相反, 在那里他pipe理大量服务器,每台服务器只有很less的虚拟主机其实不是一个,我不知道)。 我还没有把傀儡的工作configuration放在一起,但这不应该是一个问题,这里有很多 例子和配方。 除了显而易见的apacheconfiguration文件外(我猜这里没有问题),每个虚拟主机都需要创build一些目录并检查权限(例如,每个虚拟主机的根目录包含一个文档目录,一个专用的目录目录,一个专用php会话文件目录,可能是SSL证书等)在Web服务器上,以及用户+ MySQL服务器上的一个或多个数据库。 添加一个新的虚拟主机需要傀儡来创build这些,删除一个将需要傀儡运行一些脚本,将备份用户数据,然后从两台服务器中删除实时数据,但每一个傀儡代理运行,然后将检查存在目录,数据库,权限等 在上百个虚拟主机上运行每个木偶运行的所有这些检查,特别是文件系统(在web服务器上),特别是在将来系统将被加载更多的时候,我是否要求麻烦? (假设我们将1000〜2000个网站的范围定为合理的每个服务器的最大值)。 网上有这样的经验吗? 我googlesearch,但没有发现,也因为有一个低信号/噪音比search“木偶”和“阿帕奇”…
我们已经在Ubuntu Trusty上运行了nginx。 它通过https服务于多个网站,在一个IP地址上运行。 随机地,虽然它似乎与工作负载稍有关系,有时单个请求出现在错误的虚拟主机上。 这导致请求lustrum.thalia.nu由thalia.nu服务,反之亦然。 然后,这会产生令人讨厌的错误页面,因为用户突然终结于不同的网站。 当你按下F5时 ,用户再次结束原来的目标。 它似乎没有浏览器或操作系统相关。 已经确认在Firefox(Linux,Windows,Mac),Edge(Windows)和Chrome(Linux,Windows,Android)和Safari(iOS)上发生。 当系统处于负载状态时,问题似乎更频繁地发生,这表明某种竞争条件。 lustrum.thalia.nu server { server_name lustrum.thalia.nu; listen 443 ssl; ssl on; ssl_certificate /etc/nginx/certs/lustrum.thalia.nu.crt; ssl_certificate_key /etc/nginx/certs/lustrum.thalia.nu.key; add_header Strict-Transport-Security "max-age=63072000; preload"; root /var/www/thalia-lustrum/public_html; location / { index index.php; try_files $uri $uri/ /index.php?$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent; # Pass all […]
好的,所以我有一个Apache服务器设置了以下指令: NameVirtualHost *:80 <VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias *.example2.com DocumentRoot /var/www/example2 </VirtualHost> <VirtualHost example1.com:443> DocumentRoot /var/www/html ServerName example1.com:443 SSLEngine on … </VirtualHosts> 所以example1.com有SSL支持,可以通过http:// example1.com或https:// example1.com进行访问。 但是,当我在浏览器中访问https:// example2.com时,出现https:// example1.com的意外副作用。 我想要做的就是基本上禁用https:// example2.com,或者将它redirect到http:// example2.com,所以当我访问它时,我不会收到警告和错误的站点。
我在运行OS X Mavericks的个人Macintosh上有三个运行在apache2上的虚拟主机,我遇到了一些困惑。 它们在我的httpd-vhosts.conf文件中configuration如下: <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" ServerName localhost ServerAlias localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev1" ServerName dev1.local ServerAlias www.dev1.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev2" ServerName dev2.local ServerAlias www.dev2.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev3” ServerName dev3.local ServerAlias www.dev3.local </VirtualHost> 注意:第一个条目允许我input“localhost”,并在没有运行虚拟主机的情况下按照您的预期加载它。 dev1和dev2工作正常,但我得到一个错误404说:“请求的URL /在这台服务器上找不到”。 当我尝试在本地机器上加载dev3时。 所有三个开发文件夹都具有相同的权限,我已经validation了名称。 当我检查了error_log我发现这个: [Fri Jan 24 12:55:07 2014] [error] [client 127.0.0.1]文件不存在:/ Library […]