有没有办法在apache中产生相同的Nginx 444错误。
nginx
444--> 连接关闭,没有响应。
我喜欢这个错误,因为如果有人尝试 CURL,他会得到一个空的响应,但在 Apache 中并非如此。
我需要在必须更新到 10.13 的 Mac 上运行 PHP 5.6。所以我重新安装了 5.6,验证了它的位置,并将其添加到 httpd.conf:
LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)
...并确保 PHP 7 的行仍被注释掉。重新启动 Apache,Apache 启动正常,没有错误,并且可以工作,但没有 PHP!因此,作为测试,我注释掉了 PHP 5 行并取消了 PHP 7 行的注释:
LoadModule php7_module libexec/apache2/libphp7.so
Run Code Online (Sandbox Code Playgroud)
...重新启动Apache,它再次工作正常,但仍然没有PHP!所以我查询了 httpd 二进制文件以确保我正在编辑正确的 httpd.conf 并且我是。两个版本的 PHP 都不会运行,但在 Apache 启动时也不会导致错误。(当我说 Apache 运行但 PHP 不运行时,我的意思是浏览器显示:
<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)
...没有渲染它。帮助?我已经没有办法让 PHP 5.6 运行起来了。
我有一个问题,ApachePHP $_SERVER['REQUEST_URI']在 URL 被重写而不是原始请求后将 URL传递给变量。
我正在做这个重写,因为我有一个 WordPress 网站,想把它移动到一个子目录而不是把它放在根路径中,但仍然想保持它的 URL 作为根 URL。
这不会一直发生。如果我请求www.xyz.com/wp-admin它填充 PHPREQUEST_URI变量www.xyz.com/wordpress/wp-admin(这是重写后的 URL),但如果我请求www.xyz.com/wp-admin/(带有尾部斜杠),它实际上填充 PHPREQUEST_URI变量www.xyz.com/wp-admin/(重写之前的原始 URL)。我想要的是REQUEST_URI在重写之前用 URL 填充。
我的.htaccess文件如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?xyz.com$
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1
RewriteCond %{HTTP_HOST} ^(www.)?xyz.com$
RewriteRule ^(/)?$ wordpress/index.php [L]
</IfModule>`
Run Code Online (Sandbox Code Playgroud)
PHP 版本是 5.3。Apache 版本是 2.4 (Win32)。
更新:我查看了更多,当我输入 URL 时,www.xyz.com/wp-admin首先会有一个 301 重定向,www.xyz.com/wordpress/wp-admin/但这不会发生 …
我尝试将所有 url 重定向到根目录,除了 wordpress 管理和 wordpress REST API。
我有这些规则.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/wp-admin.*
RewriteCond %{REQUEST_URI} !^/wp-json.*
RewriteRule ^.*$ / [L,R=301]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
它适用于所有重定向,除了/wp-json我收到 404 错误的路线。
另外,我的 apache 日志文件中有这些错误类型:
File does not exist: [...]/dmjob/wp-json, referer: http://dmjob.dev:8888/
你能帮我么 ?非常感谢 !:)
我收到“网关超时”
504:网关没有及时收到上游服务器或应用的响应。
我将 apache 与 mod_wsgi 版本 4.4.8 一起使用。
在 apache 错误日志中,我看到:
Timeout when reading response headers from daemon process 'md':
/home/user/mc/src/mc/mc/mc.wsgi
Run Code Online (Sandbox Code Playgroud)
wsgi 配置:
WSGIDaemonProcess md user=mc group=users threads=1 processes=4
maximum-requests=1000
request-timeout=600
python-home=/localhome/user/mc
WSGIScriptAlias /mc /home/mc/src/mc/mc/mc.wsgi
<Location "/mc/">
WSGIProcessGroup md
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Location>
Run Code Online (Sandbox Code Playgroud)
超时发生在 100 秒后。
根据配置超时为 600 秒。
我不知道为什么会发生这种情况。它是可重复的。该错误是可重复的。对于特定的 URL,它每次都会发生。
第一步对我来说是:更好的错误信息。谁负责此消息“从守护进程读取响应头时超时”?
我在 Ubuntu 上使用 Apache 2.4.18。
我想只允许从本地主机读取服务器状态。
在/etc/apache2/mods-enabled/status.conf我有:
<Location /server-status>
SetHandler server-status
Require ip 127.0.0.1
</Location>
Run Code Online (Sandbox Code Playgroud)
我已阅读https://httpd.apache.org/docs/2.4/howto/access.html并且我相信上述配置应该可以正常工作。我已重新启动 Apache 以确保新配置处于活动状态。然而,状态页面仍然可以从任何地方阅读。
在/etc/apache2/sites-enabled/mysite.conf我有:
DocumentRoot /var/www
<Location />
Require all granted
</Location>
Run Code Online (Sandbox Code Playgroud)
我的配置有什么问题?
我有以下虚拟主机(在 apache2.conf 文件中)从 AWS 上的单个目录加载所有子域
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName mydevsite.com
ServerAlias mydevsite.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/apps
ServerName mydevsite.com
ServerAlias *.mydevsite.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
它不起作用,子域仍然指向 html 目录
我也尝试在 htaccess 中关注,但它给了我 500 错误
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.website\.com$
RewriteCond %{HTTP_HOST} ^(\w+)\.website\.com$
RewriteCond %{REQUEST_URI}:%1 !^/([^/]+)/([^:]*):\1
RewriteRule ^(.*)$ /%1/$1 [QSA]
Run Code Online (Sandbox Code Playgroud)
我的简单要求是从根目录加载主域,从应用程序目录加载所有子域
我的服务器有时会被 apache 中的连接填满,卡在“发送回复”状态,需要我重新启动 apache。大多数情况下这是有效的,但有时我会在尝试重新启动 apache 时收到此错误:
Job for httpd.service failed because the control process exited with
error code. See "systemctl status httpd.service" and "journalctl -xe"
for details.
Run Code Online (Sandbox Code Playgroud)
运行systemctl status httpd.service或journalctl -xe按照建议然后带回以下相关信息:
Nov 15 06:24:06 hostname.biologyreporter.com systemd-logind[874]:
Failed to remove runtime directory /run/user/1067: Device or resource busy
Nov 15 06:24:27 hostname.biologyreporter.com restartsrv_httpd[29484]:
[Fri Nov 15 06:24:27.255594 2019] [core:emerg] [pid 29509:tid 47498001208384]
(28) No space left on device: AH00023: Couldn't create the mpm-accept mutex
Nov 15 06:24:27 hostname.biologyreporter.com …Run Code Online (Sandbox Code Playgroud) 我最初安装了 Python 3.6,并且在我的 Linux 服务器上与 WSGI 和 Apache2 配合得很好。
然后我创建了一个 Flask 应用程序,它有一个需要 Python 3.7 的依赖项。我已经成功(并且我认为)升级到 Python 3.9。跑步
python3或者sudo python3
两者都带我到 Python 3.9。但当我跑步时
sudo apt-get install libapache2-mod-wsgi-py3
The following additional packages will be installed: python3, python3.6
Run Code Online (Sandbox Code Playgroud)
它安装Python 3.6
此后,python3仍然指向Python 3.9。但是,当运行 WSGI 应用程序时,使用 Python 3.6,并且它会崩溃。mod-wsgi我已经使用正确的 PIP安装了 Python 包。
我有一个网站,如果不输入基本身份验证凭据,任何人都不允许进入。
但是,我需要每个人都可以访问媒体文件夹,因为我们正在使用创建 PDF 的第三方扩展,并且只有在媒体可访问时我们才能完全测试它们。
媒体文件夹位于/var/www/company/pub/media。
域 ( www.example.com ) 指向/var/www/company/pub,因此pub文件夹是入口点。
这是我的 .htaccess 尝试 ( /var/www/company/.htaccess):
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pub/
RewriteCond %{REQUEST_URI} !^/setup/
RewriteCond %{REQUEST_URI} !^/update/
RewriteCond %{REQUEST_URI} !^/dev/
RewriteRule .* /pub/$0 [L]
DirectoryIndex index.php
AuthType Basic
AuthName "Protected"
AuthUserFile "/var/www/company/.htpasswd"
# Exclude media folder from basic auth
SetEnvIf Request_URI "^/media/*" media
Order allow,deny
Require valid-user
Allow from env=media
Deny from env=!media
Satisfy any
Run Code Online (Sandbox Code Playgroud)
但如果我尝试调用http://www.example.com/media/someimage.jpg那么我仍然会收到基本的身份验证登录提示。
环境:
阿帕奇 2.4.41 (Ubuntu)
apache2 ×10
apache-2.4 ×3
mod-rewrite ×3
.htaccess ×2
mod-wsgi ×2
apache-2.2 ×1
cpanel ×1
http ×1
httpd ×1
nginx ×1
php ×1
php5 ×1
python ×1
redirect ×1
rewrite ×1
ubuntu ×1
virtualhost ×1
wordpress ×1