情况和问题 我有一个Ubuntu服务器14.04 VPS,并希望承载多个网站,所有与不同的域名: wordpress安装(PHP + MySQL) 一个简单的PHP网站,没有数据库 一个话语安装。 话语是基于Ruby on Rails的 每个网站都有一个独特的域名。 当我search多站点设置时,我主要find特定服务器的指南,例如如何在单个服务器上设置多个Discourse论坛 。 我有一个感觉,这是一个很普遍的问题,我只是在问错误的问题。 我目前对这个问题的理解是这样的 一个域指向一个IP地址 服务器可以监听单个端口 服务器可以从请求头中检索域名 解? 这让我产生了一个解决scheme的印象 一台监听:80和8080的瘦服务器查找域名并委托请求 每个站点在侦听其他端口的服务器上运行,并提供所需的站点 直觉上这似乎是一个基本问题 问题 我在正确的轨道上? 对于代表团来说,Apache是否有更简单的select?
我有这个在我的Apacheconfiguration文件: <VirtualHost *:80> other stuff here Redirect permanent / https://example.com/ </VirtualHost> 这很好。 它redirect所有www.example.com => https://example.com 。 但问题是如果访问者键入https://www.example.com那么redirect不会发生。 我在443 VirtualHost下添加了相同的行 <VirtualHost *:443> other stuff here Redirect permanent / https://example.com/ </VirtualHost> 但是这不具有任何想法相同的效果吗?
最近阿帕奇一直在产卵,尽pipe似乎没有理由。 重新启动〜10分钟后,它会让产卵工作人员继续工作,直到达到最大数量,并且从不提供新的请求。 服务重启( service apache2 restart )后,我开始监视访问日志。 只有两个相当简单的要求,才开始产卵像疯子这样的工人: #/var/log/apache2/access.log 66.249.64.215 – – [17/Feb/2016:00:30:18 +0000] "GET /wp-content/uploads/2015/08/colarinho_3.png HTTP/1.1" 304 179 "-" "Googlebot-Image/1.0" 201.80.103.196 – – [17/Feb/2016:00:33:00 +0000] "GET /wp-content/uploads/2015/09/circulo_cromatico.png HTTP/1.1" 200 40642 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0" 在完全停止提供新的请求之前,这是完整的状态。 $apache2ctl fullstatus Apache Server Status for localhost (via ::1) Server Version: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.12 […]
我有我的.htaccess文件中的以下内容: RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www\. RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 它在浏览器中按预期工作,将所有stream量redirect到https://www.example.com/ 。 但我使用的POS系统自动将产品上传到网站,显然这个桌面应用程序不喜欢多个RewriteRule 。 它抱怨说,它的networking商店没有安装。 只要我删除了其中的一条规则,就很高兴。 所以我的问题是:有没有办法将它合并成一个RewriteRule ?
我有一个带有OpenSSL 1.0.2fconfiguration的Apache 2.4.18,带有双(RSA 4096 + ECC 384)证书configuration。 我还通过TLS扩展提供证书透明度。 当使用openssl s_client -serverinfo 18 -connect winpack.cf:443来testing我的签名证书时间戳时,openssl使用EC-384证书并且一切正常(TLS扩展18被正确提供)。 但是,在运行openssl s_client -cipher 'ECDHE-RSA-AES256-SHA' -serverinfo 18 -connect winpack.cf:443以强制使用RSA-4096证书时, 不提供扩展名,输出如下:也可以运行它,你会有相同的结果…我试图从3台不同子网的计算机上运行它) CONNECTED(00000003) 140289703855760:error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000):s23_clnt.c:769: — no peer certificate available — No client certificate CA names sent — SSL handshake has read 7 bytes and written 152 bytes — New, (NONE), Cipher is (NONE) […]
关于这个问题也有类似的问题,但是在这个问题上似乎没有任何亮点。 我在Ubuntu 14.04上使用PHP 5.6.18。 它的服务器是一个8核心CPU(不确定的确切型号)和8 GB的RAM的办公室服务器。 这台服务器的运行时间差不多有2.5年左右,我已经做了维护,最初是在Ubuntu 12.04上使用旧版本的php,但是随着时间的推移,升级了它。 我最后一次更新是在6个月前,没有问题。 一般设置是nginx将请求传递给apache以进行cms开发,并且我们有各种工作应用程序直接运行在nginx之外。 然而在过去的几天里,PHP-FPM(CLI / APACHE PHP工作正常)似乎每隔5分钟就会崩溃,有时会持续更长的时间,甚至通常在一夜之间罚款。 服务器本身没有负载,日志只显示php超时请求,然后不会处理任何进一步的请求,直到重新启动。 奇怪的是最近没有对服务器做任何事情,这只是在3天前随机启动,没有明显的原因。 所有的努力(重新php / mysql,重新启动整个服务器等)已经失败。 这里是我的主要nginxconfiguration的一部分(我已经多次改变这些值现在尝试各种各样的东西,现在大多数是禁用)。 #client_header_timeout 600; #client_body_timeout 600; #fastcgi_read_timeout 600; client_max_body_size 2048m; #fastcgi_buffers 8 4k|8k; #fastcgi_buffers 8 128k; #fastcgi_buffer_size 128k; #client_max_body_size 2048M; send_timeout 900; #fastcgi_read_timeout 3000; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; […]
我正在寻找关于如何设置mod_proxy_fcgi和chrooted php-fpm的最新指令。 除了chroot部分,我整个过程都成功了。 我试图使用最先进的设置,对我来说这是通过使用unix域套接字的“Proxy via Handler”方法,如http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html所述 。 我没有发布任何configuration的详细信息,只是要求任何通用的指令或如何做到这一点的例子(我的错误当然是“AH01071:有错误'主脚本未知\ n'”)。 所有我能find的是nginx的说明,apache与mod_fastcgi等。 thx任何提示
我有一个运行Apache + PHP-FPM + FastCGI的Ubuntu 14.04服务器,为用户主页提供服务。 为了安全起见,我在Apache的configuration中启用了: Header set X-Content-Type-Options: "nosniff" Header set X-Frame-Options: "sameorigin" Header set X-XSS-Protection: "1; mode=block" AllowOverride FileInfo已设置,因此用户可以在.htaccess文件中使用Header指令进行更多控制(如果需要的话)。 然而,似乎Apache没有兑现当CGI使用PHP( mod_headers没有发送标题时,文件是PHP ),即使Header always , .htaccess Header命令被忽略的PHP文件。 我的下一个想法是让用户修改他们的PHP代码来使用PHP header函数 ,以便他们可以将其设置为X,我可以使用setifempty应用这只有当用户没有。 经过一番尝试,我发现这些条目工作: Header set X-Frame-Options: "sameorigin" env=!SCRIPT_NAME Header always setifempty X-Frame-Options: "sameorigin" env=SCRIPT_NAME 没有envtesting,我发现第一个命令(即使是setifempty或merge )会添加一个头文件,以便在头文件中看到两个X-Frame-Options 。 那么,这是正确的方式呢? 如果env=SCRIPT_NAMEtesting足够了,还是有更好的testing来确定请求是否将由PHP-FPM / FastCGI或Apache本身处理?
我有一个网站结构设置如下,我试图为每个组织的访问级别,但没有指定<Directory>因为这需要修复结构(也就是说,如果我复制到不同的网站,到一个子文件夹,它将需要编辑所有.htaccess到新的位置)。 / app / – 允许所有,拒绝configuration/等 / app / templates / – 全部拒绝 / app / templates / mytheme / – 只允许所有的图片,javascript,css,字体 / app / lib / – 全部拒绝 我试过实现Apache2.4的新(ish)指令scheme: /etc/apache2/conf-enabled/security.conf … more stuff above … <Directory /> AllowOverride All Require all denied </Directory> … more stuff below … 并且在应用程序的根目录中添加Require all allowed to .htaccess ,同时在我希望拒绝访问的文件夹中添加Require […]
我已经将openssl从源代码版本升级到安装在/ usr / local / ssl / bin / openssl下的Apache OpenSSL 1.0.1s版本,并更改符号链接将其指向新的安装目录并运行以下命令。 $openssl version OpenSSL 1.0.1s 1 Mar 2016 它显示了新的升级版本,但使用php或检查phpinfo()时,它仍然显示旧版本。 phpinfo()函数: OpenSSL support enabled OpenSSL Library Version OpenSSL 1.0.1k-fips 8 Jan 2015 OpenSSL Header Version OpenSSL 1.0.1k-fips 8 Jan 2015 Openssl default config /etc/pki/tls/openssl.cnf 请build议我如何使这个新版本在所有地方都有效,我也在我的网站上安装了ssl,我还需要重新生成CSR和私钥,并重新颁发ssl证书。 提前致谢。