标签: apache2.4

如何设置Varnish在端口80上运行.在/ etc/default/varnish中设置的DAEMON_OPTS故障

我已经安装了清漆并且准备了设置它的确切指令,但是,它没有按预期工作.

我的/ etc/default/varnish设置是:

DAEMON_OPTS="-a :80 \
             -T localhost:1234 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"
Run Code Online (Sandbox Code Playgroud)

我的/etc/varnish/default.vlc设置是

backend default {
    .host = "localhost";
    .port = "8080";
}
Run Code Online (Sandbox Code Playgroud)

我的apache port.conf设置是:

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我用Apache 2.4.10运行ubuntu 15.04.当我开始清漆并检查过程时,我得到了休息:

0:00 /usr/sbin/varnishd -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Run Code Online (Sandbox Code Playgroud)

似乎监听地址或管理界面都不像/etc/varnish/default.vcl中设置的那样工作.我的虚拟机都不能正常工作.我怎么解决这个问题?

varnish varnish-vcl systemd apache2.4 ubuntu-15.04

8
推荐指数
1
解决办法
5956
查看次数

VirtualHost在CentOS 7上的Apache 2.4.6下无法运行

我正在尝试在CentOS 7上的Apache 2.4.6中设置一些VH,但由于它不起作用而没有成功.这是我现在尝试过的:

  • 因为in /etc/httpd/conf/httpd.conf是这一行,Include conf.modules.d/*.conf然后我创建一个文件/etc/httpd/conf.d/vhost.conf并将其放在其中:

    NameVirtualHost *:80
    
    <VirtualHost *:80>
         ServerName webserver
         ServerAlias localhost devserver development
         DocumentRoot /var/www/html
    </VirtualHost>
    
    Run Code Online (Sandbox Code Playgroud)
  • 重新加载/重新启动Apache服务(同时尝试):

    service httpd reload|restart
    
    Run Code Online (Sandbox Code Playgroud)
  • 在Windows端编辑文件C:\Windows\system32\drivers\etc\hosts并添加以下行:

    192.168.3.131  webserver localhost devserver development # this is the IP of Apache Server
    
    Run Code Online (Sandbox Code Playgroud)
  • 打开浏览器并尝试:http://webserver,http://devserver两者都进入默认的Apache页面,因此VH不起作用.

  • /var/www/html/index.php用这行代码放下一个文件<?php phpinfo(); ?>只是为了知道哪些模块是Apache加载,结果如下:

    core mod_so http_core mod_access_compat mod_actions mod_alias mod_allowmethods mod_auth_basic mod_auth_digest 
    mod_authn_anon mod_authn_core mod_authn_dbd mod_authn_dbm mod_authn_file mod_authn_socache mod_authz_core 
    mod_authz_dbd mod_authz_dbm mod_authz_groupfile mod_authz_host mod_authz_owner mod_authz_user mod_autoindex 
    mod_cache mod_cache_disk …
    Run Code Online (Sandbox Code Playgroud)

php linux centos apache2 apache2.4

7
推荐指数
2
解决办法
3万
查看次数

Apache mod_alias RedirectMatch除特定模式之外的所有内容

好的旧正则表达式让我疯狂.

我需要将Apache 2.4中的所有流量从HTTP重定向到HTTPS,除了"/ bt/sub/[a_few_endings]",使用来自mod_alias的重定向(不能使用mod_rewrite).

我在我认识的所有在线测试人员中测试了以下正则表达式(例如http://regex101.com/)并且都确认正则表达式确实应该匹配除了我不希望它匹配的URL之外的所有内容:

^/(?!bt/sub/(went_active|success|cancel|expired)).*$ 
Run Code Online (Sandbox Code Playgroud)

据我所知,这应该与一切HTTP://local.mysite.com,重定向到HTTPS://local.mysite.com,除了为以下四种:

仍然,Apache重定向所有内容,包括我不想重定向的上述URL.

我在SO中发现了几个类似的问题,但大多数都是根据mod_rewrite回答的,这不是我想要/需要的,人们说有用的那些对我没用.

这是我目前的虚拟主机配置:

<VirtualHost *:80> 
    ServerName local.mysite.com 
    RedirectMatch 302 ^/(?!bt/sub/(went_active|success|cancel|expired)).*$ https://local.mysite.com 
    DocumentRoot /home/borfast/projects/www/mysite/public 
    #Header set Access-Control-Allow-Origin * 
    SetEnv LARAVEL_ENV localdev 

    <Directory /home/borfast/projects/www/mysite/public/> 
        Options All 
        DirectoryIndex index.php 
        AllowOverride All 
        Require all granted 
    </Directory> 
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

请帮助,防止我发疯:)


更新:有一些奇怪的事情:显然,当找到请求的URL /路径时,Apache忽略RedirectMatch中的表达式并重定向客户端,即使RedirectMatch告诉它不要.

为了测试这个,我在一个单独的VM中创建了一个新的虚拟主机,这个虚拟机刚安装了Ubuntu Trussty 64,并装载了Apache 2.4.这个新的虚拟主机只包含ServerName,RedirectMatch和DocumentRoot指令,如下所示:

<VirtualHost *:80>
    ServerName testing.com
    RedirectMatch 302 ^/(?!bt/sub/(went_active|success)$).*$ https://othersite.com/

    DocumentRoot /home/vagrant/www
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我创建了目录/home/vagrant/www/bt/sub/went_active以确保Apache可以访问两个可能的URL中的至少一个.尝试访问时http://testing.com:8080,我按预期重定向.

然后奇怪的是:访问时http://testing.com:8080/bt/sub/went_active,与我创建的目录匹配的URL,我仍然被重定向,即使我不应该,但在访问时 …

regex apache redirect mod-alias apache2.4

7
推荐指数
2
解决办法
6629
查看次数

Apache - AH00341:winnt_accept:异步AcceptEx失败

我正在为我的系统使用apache.最近我收到了客户的投诉,说他们无法访问系统.我远程到我的服务器并检查我的Apache及其工作正常.我尝试启动localhost ant它也正常工作.我找不到任何问题,没有其他的去,而不是重新启动我的阿帕奇.重启后系统恢复正常.在对日志文件进行一些挖掘后,我发现了一些东西.

指定的网络名称不再可用.:AH00341:winnt_accept:异步AcceptEx失败.

我尝试谷歌,但无法找到解决方案.有没有人提前面对同样的问题并解决这个问题.以下是我的服务器详情:

Window Server 2008 R2标准
Apache 2.4
使用SSL连接

任何有关该问题的建议或参考链接都非常感谢.

apache ssl apache2.4

7
推荐指数
1
解决办法
1万
查看次数

Apache 2.4.26中的SCRIPT_FILENAME和PHP_SELF错误

使用Apache 2.4.26使用php-fpm 7.1.6,$_SERVER['SCRIPT_FILENAME'](和$_SERVER['PHP_SELF'])在文件夹上不正确:

Apache 2.4.26:

/index.php
Run Code Online (Sandbox Code Playgroud)

Apache 2.4.25:

/myfolder/index.php
Run Code Online (Sandbox Code Playgroud)

怎么了?

php environment-variables apache2.4 fpm

7
推荐指数
1
解决办法
1120
查看次数

调试为什么我在 Apache 2.4 中收到“您没有访问权限”

我正在尝试在 Linux/Ubuntu 中创建本地环境。

我已经安装了 Apache 2.4.7(使用 apt-get)。

我已将 /etc/hosts 更改为:

127.0.0.1   example.dev
127.0.0.1   localhost
...
Run Code Online (Sandbox Code Playgroud)

我还在“/etc/apache2/sites-available”中添加了一个文件“example.dev.conf”,如下所示:

<VirtualHost *:80>
    ServerName example.dev
    DocumentRoot "/home/yahya/path/to/projec"
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory "/home/yahya/path/to/project">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Run Code Online (Sandbox Code Playgroud)

但是当我转到 example.dev 时,我收到以下消息:

第403章 禁止!您没有权限访问此服务器上的 /。

我还根据<Directory />此链接的建议编辑了 apache.conf 部分:禁止您无权访问此服务器上的 /错误消息“禁止您无权访问此服务器上的 /”

从:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>
Run Code Online (Sandbox Code Playgroud)

<Directory />
    Options Indexes FollowSymLinks Includes ExecCGI …
Run Code Online (Sandbox Code Playgroud)

apache hosts hosts-file vhosts apache2.4

6
推荐指数
1
解决办法
2万
查看次数

如何禁用 apache2 和 mod_proxy_fcgi 的缓冲?

我在 debian Jessie 上使用 mod_proxy_fcgi 和 apache 2.4,我的 C++ 应用程序使用 libfcgipp 执行 ServerSentEvents。

我的问题是,那个 apache 仍然缓冲我的响应数据。我通过使用 wireshark 确认它没有被 libfcgipp 库缓冲:通过 启动 fcgi 应用程序后spawn-fcgi,数据会尽快发送到 apache 网络服务器。但是在我的浏览器中(我用于测试,稍后会有一个 C++ 客户端)它只在我“杀死”/关闭服务器应用程序中的发送请求后才会显示。

所以我假设我需要禁用 apache 或 mod_proxy_fcgi(或两者)的缓冲。但是我找不到有关如何执行此操作的适当文档。

apache buffer fastcgi mod-proxy apache2.4

6
推荐指数
2
解决办法
4999
查看次数

Apache: cURL: ssl3_get_record: apache2 ssl 版本号错误

我有一台服务器,同时运行 2 个 Magento 站点。站点 1 在 SSL 下工作正常,而站点 2 每当我访问它时都会返回错误。

我尝试使用 cURL 测试该网站:

curl -v https://example2-domain.com/
Run Code Online (Sandbox Code Playgroud)

cURL 抛出此错误:

*   Trying 97.74.223.135...
* TCP_NODELAY set
* Connected to example2-domain.com (97.74.233.135) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* (304) (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* stopped the pause stream!
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number …
Run Code Online (Sandbox Code Playgroud)

ssl curl apache2.4

6
推荐指数
2
解决办法
3万
查看次数

mod_jk无法与tomcat9连接

解压 tomcat.apache.org 上提供的 tomcat9 软件包后,将 mod_jk 配置为:

workers.tomcat_home=/opt/apache-tomcat-9.0.34
workers.java_home=/opt/jdk-13
ps=/

worker.list=ajp13_worker

worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
Run Code Online (Sandbox Code Playgroud)

当我将 WAR 部署到 webapps 目录并尝试访问它时,浏览器显示以下错误:

在此输入图像描述

在 mod_jk 日志中,我得到了这个:

[Sat Apr 25 08:45:49.187 2020] [16060:139700132441152] [info] jk_open_socket::jk_connect.c (816): connect to 127.0.0.1:8009 failed (errno=111)
[Sat Apr 25 08:45:49.187 2020] [16060:139700132441152] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1065): (ajp13_worker) Failed opening socket to (127.0.0.1:8009) (errno=111)
[Sat Apr 25 08:45:49.187 2020] [16060:139700132441152] [error] ajp_send_request::jk_ajp_common.c (1725): (ajp13_worker) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)
[Sat …
Run Code Online (Sandbox Code Playgroud)

mod-jk apache2.4 tomcat9

6
推荐指数
0
解决办法
6352
查看次数

mysqli_real_connect(): (HY000/1045): 用户'phpmyadmin'@'localhost'访问被拒绝(使用密码:YES)

错误消息

我正在 coursera 上做在线课程,他们告诉我安装 phpmyadmin。

现在我在这方面完全是初学者,所以我无法对此做太多研究,现在不知何故,在本地主机中安装 MySQL 和 phpmyadmin 后,我收到一些错误,这很常见吗?因为课程中的其他参与者没有得到它们。如果这是致命的或者会限制我的一些明显的能力,请告诉我如何治愈它。

顺便说一句,如果您没有注意到错误是:

mysqli_real_connect(): (HY000/1045): Access denied for user 'phpmyadmin'@'localhost' (using password: YES)

Connection for controluser as defined in your configuration failed.

更多细节:

  1. PHP版本是7.4
  2. 操作系统是Ubuntu 20.04

mysql phpmyadmin apache2.4 php-7.4 ubuntu-20.04

6
推荐指数
2
解决办法
4万
查看次数