我们有一个Apache的服务器,主机的多个域,其中一些有https启用,一些没有。 现在的问题是,如果我访问https:// exampleWithoutHttps我会来https:// exampleWithHttps的内容。 我想转发用户从https:// exampleWithoutHttps到http:// exampleWithoutHttps在没有https的所有域上。 我曾尝试在虚拟主机*:443中创buildredirect规则,但是这会产生以下错误: 服务器应该是SSL感知的,但没有configuration证书 问题是,我不能改变“听443”为“听443 HTTP”,因为这将打破我的主机与SSL启用。 有没有一种方法,我可以没有一个SSL证书redirect? 或者,如果不可能,您可以提出一个替代scheme,以确保https:// exampleWithoutHttps不显示https:// exampleWithHttps的内容。 我的ports.conf NameVirtualHost *:80 听80 NameVirtualHost *:443 听443 mi网站condfig: <VirtualHost *:80> DocumentRoot /path/to/dr ServerName exampleWithoutHttps.com ServerAlias www.exampleWithoutHttps.com </VirtualHost> <VirtualHost *:443> ServerName exampleWithoutHttps.com ServerAlias www.exampleWithoutHttps.com Redirect permanent / http://www.exampleWithoutHttps.com/ </VirtualHost>
我想让人们从指定的IP访问我的网页。 不过,我在Cloudflare后面。 获取用户IP的唯一方法是从X-Forwarded-For标头。 但我不能相信X-Forwarded-For ,因为人们可以绕过Cloudflare并直接访问我的服务器IP(假设他们可以幸运地猜测我的服务器IP)。 所以,我想允许来自Cloudflare的特定X-Forwarded-For IP列表。 我知道Cloudflare的IP列表 。 这是我到目前为止。 这样对吗? SetEnvIF X-Forwarded-For "xxxx" AllowIP <RequireAny> <RequireAll> <RequireAny> Require ip 199.27.128.0/21 Require ip 173.245.48.0/20 Require ip 103.21.244.0/22 Require ip 103.22.200.0/22 Require ip 103.31.4.0/22 Require ip 141.101.64.0/18 Require ip 108.162.192.0/18 Require ip 190.93.240.0/20 Require ip 188.114.96.0/20 Require ip 197.234.240.0/22 Require ip 198.41.128.0/17 Require ip 162.158.0.0/15 Require […]
系统configuration:Apache2,Django 1.10,Python 3,Ubuntu 16.04 LTS Django debug=True 。 /var/log/apache2/error.log [52:53.057967] [wsgi:error] [pid 4303] [client 1.1.1.22:24409] Timeout when reading response headers from daemon process 'example.org': /home/user/dir/project/main_app/wsgi.py [52:58.466726] [wsgi:error] [pid 4305] [client 1.1.1.10:9787] Truncated or oversized response headers received from daemon process 'example.org': /home/user/dir/project/main_app/wsgi.py [52:58.466729] [wsgi:error] [pid 4304] [client 1.1.1.4:18417] Truncated or oversized response headers received from […]
我有一个主域名和一个由商业网站托pipe服务使用Apache服务器托pipe的二级域名。 每个域都有自己的.htaccess文件。 对于主域,我只有一个SSL证书。 但是,如果我inputURL框(或search引擎指向) HTTPS://secondarydomain.com , HTTPS://secondarydomain.com收到有关无效安全证书的网页警告。 当我确认exception时,浏览器显示绑定到证书的主域。 我看了post: SSL的优先级 。 在这种情况下,我可以做什么没有什么从二级域从HTTPSredirect到HTTP? 编辑澄清:我想服务器应用SSL证书只到主域。 子域是完全不相关的域。 访问这些子域名的人只会看到一个不相关网站名称的SSL证书。 这就是为什么我希望有一些东西,我可以放在这些子域的.htaccess文件,使服务器绕过或忽略主域的SSL证书。 编辑:我也尝试了无条件的redirect与这些行.htaccess中 RewriteEngine on Redirect / "http://mydomain .com/"
我需要在Mac上运行PHP 5.6,必须更新到10.13。 所以我重新安装了5.6,validation了它的位置,并将其添加到httpd.conf中: LoadModule php5_module libexec/apache2/libphp5.so …并确保PHP 7的线路仍然被注释掉。 重启Apache,Apache启动正常,不会抛出错误,而且可以工作,但是没有PHP! 所以作为一个testing,我注意到了PHP 5行,并取消了注释PHP 7行: LoadModule php7_module libexec/apache2/libphp7.so …重新启动Apache,并再次工作正常,但仍然没有PHP! 所以我查询了httpd二进制文件,确保我正在编辑正确的httpd.conf文件。 这两个版本的PHP都不会运行,但在Apache启动时既不会导致错误。 (当我说Apache运行,但PHP不,我的意思是一个浏览器显示: <?php phpinfo(); ?> …没有渲染。 帮帮我? 我已经用尽了想法来运行PHP 5.6。
我实际上在我的虚拟主机中使用RewriteMap指令来redirect800个URL的列表。 它工作安静: RewriteEngine On RewriteMap redirects dbm=db:/data/apps/project/current/configuration/etc/httpd/conf/redirects.db RewriteCond ${redirects:$1} !="" RewriteRule ^(.*)$ ${redirects:$1} [redirect=permanent,last] 我使用包含映射的redirect.txt文件。 然后它被转换成一个数据库文件: httxt2dbm -f db -i /data/apps/project/current/configuration/etc/httpd/conf/redirects.txt -o /data/apps/project/current/configuration/etc/httpd/conf/redirects.db 例如对于这种types的URL,这是可以的: /associations/old_index.php / 但是当URL包含空格时,它不起作用:(我想这与其他特殊字符是一样的) /Universités%20direct / 如何处理这种情况?
我有一个Ubuntu 14.04,laravel 5.2框架的服务器。 在最后24小时,有人不断地发送来自不同IP地址的洪泛请求,如下所示(log / apache2 / access.log): 198.46.157.112 – – [18/Oct/2016:17:44:04 +0100] "GET /choi-ads/test_44022 HTTP/1.1" 403 6032 "http://ki****" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36" 175.232.51.53 – – [18/Oct/2016:17:44:04 +0100] "GET /choi-ads/test_44022 HTTP/1.1" 500 47902 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" 212.4.138.94 – […]
我有一个虚拟主机,它有一些像这样configuration访问限制: <Location "/"> AuthType Basic AuthName "Restricted Content" AuthUserFile /var/www/domain/htdocs/.htpasswd Require valid-user </Location> 除此之外,我还有以下conf文件: Alias /.well-known/acme-challenge/ "/var/www/letsencrypt/" <Location /.well-known/acme-challenge/> # Security Options Options None AllowOverride None ForceType text/plain RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)" # Do not redirect to https or perform other rewrites RewriteEngine off </Location> 我需要/.well-known/acme-challenge/才能无需授权即可访问。 我已经尝试添加不同的Require all granted我的conf文件,但无济于事。 我如何使/.well-known/acme-challenge/无需身份validation访问所有的虚拟主机? (我不想修改任何虚拟主机,这个虚拟主机就是一个例子)。
我想通过用户名授权用户,忽略任何密码。 用户名是一个许可证ID。 如果你有它,你可以访问网站,否则不。 通过设置AuthMySQLNoPasswd On ,系统现在可以在Apache 2.2上使用mod_auth_mysql 。 现在我正在尝试升级到Apache 2.4并使用mod_authz_dbd 。 我不想做任何dbd身份validation,所以我想过使用mod_authn_anon来validation任何用户,然后使用dbd进行授权。 这是configuration: AuthType basic AuthName "Please use license ID as user name, password is irrelevant" AuthBasicProvider anon Anonymous_NoUserID on # "authorized" is the name of an imaginary group that is returned by AuthzDBDQuery # when username matches license ID in the database Require dbd-group […]
我在这里要问一些花费我很多时间的东西,现在我不知道如何继续下去,这是一个非常大的社区。 那么问题是我正在为学校和大学做一个分布式的Linux系统,它从Apache服务器获取SquashFS,通过TFTP加载initrd和内核,当它启动时,它将所有系统加载到RAM中。 这个想法是尽可能的安全,当计算机closures时,系统的所有数据都是干净的,但问题是与主文件夹… 主文件夹是在一个NFS服务器,我试图为每个用户做不同的文件夹,使用计算机的MAC地址在NFS服务器中创build一个文件夹并连接到它,但我不知道如何在启动时传递MAC地址以在第一次创build文件夹,并且如果该MAC的主文件夹存在,则连接到它,使用fstab就像现在使用用户validation文件夹一样。 提前致谢!