我已经安装了清漆并且准备了设置它的确切指令,但是,它没有按预期工作.
我的/ 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中设置的那样工作.我的虚拟机都不能正常工作.我怎么解决这个问题?
我正在尝试在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)好的旧正则表达式让我疯狂.
我需要将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,我仍然被重定向,即使我不应该,但在访问时 …
我正在为我的系统使用apache.最近我收到了客户的投诉,说他们无法访问系统.我远程到我的服务器并检查我的Apache及其工作正常.我尝试启动localhost ant它也正常工作.我找不到任何问题,没有其他的去,而不是重新启动我的阿帕奇.重启后系统恢复正常.在对日志文件进行一些挖掘后,我发现了一些东西.
指定的网络名称不再可用.:AH00341:winnt_accept:异步AcceptEx失败.
我尝试谷歌,但无法找到解决方案.有没有人提前面对同样的问题并解决这个问题.以下是我的服务器详情:
Window Server 2008 R2标准
Apache 2.4
使用SSL连接
任何有关该问题的建议或参考链接都非常感谢.
使用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)
怎么了?
我正在尝试在 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) 我在 debian Jessie 上使用 mod_proxy_fcgi 和 apache 2.4,我的 C++ 应用程序使用 libfcgipp 执行 ServerSentEvents。
我的问题是,那个 apache 仍然缓冲我的响应数据。我通过使用 wireshark 确认它没有被 libfcgipp 库缓冲:通过 启动 fcgi 应用程序后spawn-fcgi
,数据会尽快发送到 apache 网络服务器。但是在我的浏览器中(我用于测试,稍后会有一个 C++ 客户端)它只在我“杀死”/关闭服务器应用程序中的发送请求后才会显示。
所以我假设我需要禁用 apache 或 mod_proxy_fcgi(或两者)的缓冲。但是我找不到有关如何执行此操作的适当文档。
我有一台服务器,同时运行 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) 解压 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) 我正在 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.
更多细节:
apache2.4 ×10
apache ×4
php ×2
ssl ×2
apache2 ×1
buffer ×1
centos ×1
curl ×1
fastcgi ×1
fpm ×1
hosts ×1
hosts-file ×1
linux ×1
mod-alias ×1
mod-jk ×1
mod-proxy ×1
mysql ×1
php-7.4 ×1
phpmyadmin ×1
redirect ×1
regex ×1
systemd ×1
tomcat9 ×1
ubuntu-15.04 ×1
ubuntu-20.04 ×1
varnish ×1
varnish-vcl ×1
vhosts ×1