Articles of apache2

将所有请求redirect到除某些文件夹以外的域

我尝试将所有请求从一个域redirect到一个子域,除了/mypath和下面的所有东西。 例子: example.com -> sub.example.com example.com/somestuff -> sub.example.com 但是example.com/my-path不应该被redirect。 这里是负责configuration的部分: RewriteCond %{HTTP_HOST} ^example.com$ RewriteCond %{REQUEST_URI} !^/my-path/ RewriteRule ^/?(.*)$ "http\:\/\/sub\.example\.com" [R=301,L] 问题是我无法实现目标,我不知道这里有什么问题。 我试图find一个实现相同的目标,但没有运气的例子。

htaccess不工作在Apache 2.4虚拟主机

这是我的apache 2.4虚拟主机configuration <VirtualHost *:80> DocumentRoot /var/www/fd-pro/app-api/public_html ServerName subdomain.domain.com.au ServerAlias subdomain.domain.com.au <Directory /var/www/fd-pro/app-api/public_html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/subdomain-error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/subdomain-access.log combined </VirtualHost> 我也启用了重写模块。 在/ var / www / fd-pro / app-api / public_html中有一个htaccess 话 Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header set […]

如何防止PHP访问目录?

我安装了一个基本的LAMP,我想确保PHP不能访问/ var / www目录之外的任何东西。 我怎样才能做到这一点? 通过“访问”我的意思是也阅读文件和目录列表。 我要求这是因为安全。 我在我的服务器上运行WordPress,如果有人进入pipe理员帐户,他可以编辑模板代码,通过它可以在系统中的任何地方。 谢谢!

apache / nginx上cname的行为是什么

假设我有一个域名为fish.example.com的logging,指向一个运行apache / nginx的http服务器,并为该域名设置了虚拟主机。 我也从cow.example.net创build一个CNAME到fish.example.com 什么域最终在我的apache / nginx,这是行为可configuration的Apache / Nginx?

在运行的LAMP服务器上运行密集的过程; 正常运行时间的风险?

背景故事: 该服务器正在运行Ubuntu 14.04。 我们希望在Apache的文档根目录下载和放置一个外部硬盘驱动器,因为我们正在对网站进行全面的重新devise。 (67 Gb的数据)。 第一次下载是用FTP做的,但是一些文件最终被破坏或者丢失。 我们发现了困难的方式。 我正在计划这一行动: 首先在一个大文件(用tar)中压缩整个文档根目录。 计算一个大文件的校验和(用cksum)。 用SSH / SCP下载大文件。 validation收到的文件的校验和。 服务器当前正在运行,我主要担心的是密集的进程,如压缩或校验和计算,压倒了服务器,并随后使Apache挂起或崩溃。 这样的担心是否值得? 我能做些什么来确保这不会发生?

我怎样才能阻止所有的HEAD请求包含在Apache上的子string的url?

我pipe理的一个服务器正在被一个糟糕的编码的AWS构build的机器人所困扰,这个机器人不断地切换IP并且似乎卡在一个recursion编码循环中。 我能看到的唯一一致的指纹是每个请求只是一个HEAD请求,每个请求似乎都重新编码了前一个请求。 所以http://someurl.com/?foo=%25bar成为..%2525..变成..%252525.. … %2525252525252525…x1000 ..%252525.. … ..%252525.. 。 以下是我看到的请求types的示例: HEAD http://example.com/?foo=%25bar HEAD http://example.com/?foo=%2525bar HEAD http://example.com/?foo=%252525bar HEAD http://example.com/?foo=%25252525bar HEAD http://example.com/?foo=%2525252525bar HEAD http://example.com/?foo=%2525252525…25bar (x1000) 到目前为止,我一直在使用Cloudflare防火墙来阻止每个IP,但他们保持切换IP。 我怎样才能阻止所有包含子string的HEAD请求(比如%25252525 )? 我正在运行Apache/2.4.6 (CentOS) 。

HAproxy – SSL和虚拟主机问题

HAProxyconfiguration: frontend https-proxy bind *:443 ssl crt /path/to/certs default_backend web backend web balance roundrobin option httpchk option forwardfor option httpclose server web-srv1 192.168.1.1:80 check inter 5000 server web-srv2 192.168.1.2:80 check inter 5000 Apache Conf: <VirtualHost *:443> ServerName example.com DocumentRoot /var/www/example.com </VirtualHost> <VirtualHost *:443> ServerName test.example.com DocumentRoot /var/www/example.com </VirtualHost> 共享IP – 192.168.1.3 example.com转到192.168.1.3 test.example.com转到192.168.1.1 去test.example.com和绕过代理,虚拟主机工作得很好。 在example.com上查看代理,出于某种原因,它会转到conf文件中的默认实例。 […]

Apache mod_wsgi,Django和项目文件权限

我正在制作一个Django项目。 但是我正在处理一个奇怪的权限问题。 毕竟,这是我的项目的结构: 项目 项目 settings.py urls.py wsgi.py … 应用 APP1 APP2 APP3 日志 静态的 … 部署它时,除非www-data是项目/项目/应用程序 (recursion)的用户所有者或组所有者,否则该站点将不会运行,只要它具有775或550的权限。 它有一个HTTP 500错误 奇怪的是,当我更改权限到777 ,并从www数据中删除所有权,我仍然有相同的HTTP 500错误。 通常的错误是一个ImportError。 它不能导入一些模块/应用程序。 现在我的问题是为什么呢? 至less有权限777 ,它应该运行www-data将无论如何拥有文件夹项目/项目/应用程序的完全权限 看起来好像Apache( www-data )只想拥有这个文件夹(无论是在组级别还是用户级别) 如何在使用Apache进行部署时,在django项目文件夹上设置权限?

dockerfile不能运行

这是我的Dockerfile: FROM php:5.5-apache COPY sites-enabled.tgz /root/sites-enabled.tgz RUN cd /etc/apache2/sites-enabled && \ tar xvf /root/sites-enabled.tgz 我有一些需要configuration的网站,我想最简单的方法来configuration它们只是复制站点的configuration文件到适当的目录。 不幸的是我无法做到这一点。 我做docker build -t mywebsite . 然后docker run -d mywebsite 。 这两个命令似乎运行得很好。 最后一个给我一个hex编码的string。 但是,当我做docker ps我没有看到任何机器运行。 通常,启用网站的文件是符合链接到站点的可用文件。 idk,如果在每种情况下都是这样,但是如果是这样的话,似乎可能需要复制站点 – 可用站点。 例如。 FROM php:5.5-apache COPY sites-available.tgz /root/sites-available.tgz COPY sites-enabled.tgz /root/sites-enabled.tgz RUN cd /etc/apache2/sites-available && \ tar xvf /root/sites-available.tgz RUN cd /etc/apache2/sites-enabled && […]

https不能在nginx和apache ubuntu上工作

我正在使用端口81的nginx和端口80的apache运行。我尝试把SSL证书放在nginx中。 这不是在开玩笑。 这是我的nginx的默认值: server{ listen 81; listen 443 ssl; server_name 35.154.225.46; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location / { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } 我按照以下教程创build了SSL证书 : 如何在Nginx上为Ubuntu 14.04创buildSSL证书 编辑:之前我试图使用SSL。 我在端口81上使用nginx [node js],在端口80上使用apache [php]。现在我试着在nginx中使用SSL。 现在Nginx正在使用ssl默认端口[80],Apache不工作。 我想两个服务器应该运行。