我目前有一台机器有多个IP地址,但是我希望把Apache限制在其中一个。 我知道这个问题已经在这里问过,但是我遇到了以下问题: 将Apache限制在一个IP上 为了简单起见,可以说我有一个IP,1.1.1.1我希望Apache运行,同时另一个IP,2.2.2.2可用于Apache,但我不希望Apache接触这个IP。 在我的ports.conf中: Listen 1.1.1.1:80 <IfModule ssl_module> Listen 1.1.1.1:443 </IfModule> <IfModule mod_gnutls.c> Listen 1.1.1.1:443 </IfModule> 同时,000-default.conf: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 使用configuration,启动时没有错误,但是当在浏览器中访问1.1.1.1时,似乎不需要/ var / www / html(默认的Apache2页面),而是使用当前正在运行的其中一个站点IP也是。 另外,使用: <VirtualHost 1.1.1.1:80> 似乎允许您在浏览器中访问1.1.1.1,并在启动时使用此configuration获取/ var / www / html(默认的Apache2页面),但出现此错误: [Tue Aug 18 17:34:54.487039 2015] [core:error] [pid 5446] (EAI 2)Name […]
我有个问题。 Apache监听一个白色的ip,并将代理请求/城市仪表板上的所有请求/ ssd代理到另一个带有websocket的服务器。 在Apacheconfiguration中: ProxyPass /ssd/ http://10.127.32.24 ProxyPassReverse /ssd/ http://10.127.32.24 nginxconfiguration:在nginx.conf: map $http_upgrade $connection_upgrade { default upgrade; '' close; } include /etc/nginx/conf.d/*.conf; 在default.conf location /city-dashboard/stream { proxy_pass http://10.127.32.24:5000/stream; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } 请求标题: GET ws://xxxx/ssd/city-dashboard/stream HTTP/1.1 Host: xxxx Connection: Upgrade Pragma: no-cache Cache-Control: no-cache Upgrade: websocket Origin: […]
我已经inheritance了用PHP编写的Web应用程序。 代码不是最好的,我想开始使用Symfony框架。 这将是一个逐步迁移通过几个版本,所以我需要传统的网页,网页脚本,CSS文件和图像像现在这样工作。 我的计划是将Symfony安装放在项目根目录的子目录中,并将Apache2configuration的文档根目录设置为Symfony目录。 然后我需要设置Apache2来为旧的文档根目录提供旧版脚本。 这是目录结构的前后。 之前: lib htdocs htdocs\index.php htdocs\img\logo.png htdocs\css\styles.css sql-updates 后: lib htdocs htdocs\index.php htdocs\img\logo.png htdocs\css\styles.css sql-updates symfony symfony\app.php htdocs是当前文件的根目录,symfony会是新的文件根目录。 Symfony很大程度上通过app.php脚本工作,所以Symfony代码的大部分请求都会通过。 如果在symfony目录中找不到对页面或文件的任何请求,我希望Apache像以前一样查看htdocs目录。 有没有办法做到这一点,而不移动遗留页面的URI到一个子目录? 例如,如果以前的URI是www.app.com/ascript.php,并且它parsing为htdocs / ascript.php,我不希望将URI更改为类似于www.app.com/legacy/ascript.php。 这可能吗?
我在Debian上安装了varnish。 我在http://example.com上有一个在Apache上运行的网站 这是我的/etc/varnish/default vcl 4.0; backend default { .host = "example.com"; .port = "8080"; } 清漆开始,我可以看到网站的内容在http://127.0.0.1:6081/ 响应标题: Pragma: no-cache Date: Tue, 25 Aug 2015 12:29:38 GMT Content-Encoding: gzip Server: Apache/2.4.10 (Ubuntu) Age: 0 X-Powered-By: PHP/5.6.4-4ubuntu6.2 Vary: Accept-Encoding Content-Type: text/html; charset=UTF-8 Via: 1.1 varnish-v4 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 X-Varnish: 229436 Connection: keep-alive Accept-Ranges: bytes […]
将Tortoise SVN连接到我的SVN服务器时出现问题。 第一个连接似乎进入超时(SVN挂起约20秒),第二个(自动)尝试立即工作。 即每更新,提交,日志需要一个looong时间,并驱使每个人疯狂… 来自Linux命令行客户端的相同的SVN操作即刻起作用。 通过networking浏览器访问工作也没有任何延迟。 SVN设置如下:SVN服务器运行CentOS 7,Apache 2.4.6和mod_dav_svn 1.7.14。 通过SSL访问已configuration。 身份validation通过Windows Server 2012 R2上的LDAP完成。 客户端(Windows 7 x64)运行Tortoise 1.7.15(x64)。 这是相关的Apacheconfiguration(混淆…): # Reduce LDAP cache to 30 seconds LDAPCacheTTL 30 LDAPOpCacheTTL 30 <Location /svn> DAV svn SVNParentPath /var/svnrepo SVNListParentPath on AuthName "My Repository" AuthType basic AuthBasicProvider ldap AuthLDAPURL "ldap://dc.mydomain.local/OU=Group of Users,OU=MyOU,DC=MyDomain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE AuthLDAPBindDN "CN=ServiceUser,OU=Group of Users,OU=MyOU,DC=MyDomain,DC=local" […]
我有一个反向代理,我的网站指向帮助DDoS保护。 我有mod_rewrite设置为使用反向代理提供的特定头,以便每次拉取实际的客户端IP而不是反向代理IP。 这是因为我想让日志文件显示实际的客户端IP地址,并且我想限制对像phpMyAdmin这样的东西只能访问我的家庭连接。 但是,我试图使用mod_rewrite来限制对我的虚拟主机的访问,只有我的反向代理,以便我的网站的每个请求都必须通过我的反向代理。 有没有一种方法,我可以使用常规的请求IP(这将几乎总是反向代理)只有在这些mod_rewriteconfiguration,而不是我从自定义头拉? 我的mod_rewrite代码(ip-whitelist.txt)是反向代理的IP列表。 RewriteEngine On RewriteMap ipslist txt:ip-whitelist.txt RewriteCond %{HTTP_X_FORWARDED_FOR} ^(.*)$ RewriteCond ${ipslist:%1|black} ^black$ [NC] RewriteRule (.*) – [F]
大家好, 我有一个问题,我不能独自解决,所以我需要你的帮助。 我已经安装在一个centos 7 apache时,我要求的服务状态(systemctl状态httpd),所以我有这样的错误: 启动Apache HTTP服务器… httpd.service操作超时。 终止httpd.service停止超时(2)。 杀 无法启动Apache HTTP Server 单位httpd.server进入失败状态 我查了我的error_log文件(var / log / httpd / error_log /并在这里得到了这个 启用SELinux策略:httpd作为上下文运行system_u:system_r:httpd_t:s0 启用suEXEC机制(包装:/ usr / sbin / suexec) 消化authentication的一代秘密 没有从mod_heartmonitor的插槽 pid文件/run/httpd/httpd.pid覆盖 – 不正常的关机以前的Apache运行? Apache / 2.4.6(CentOS)PHP / 5.4.16。 configuration – 恢复正常操作 命令行:'/ usr / sbin / httpd – D FOREGROUND' 是的,我做了这个工作,并键入这个错误报表,所以我没有写在[]的date和信息。 我希望解决这个问题不是那么重要。 我已经试过了: 重新启动systemctl […]
我试图build立一个子域,但启用它并重新加载Apache,我得到这个错误: Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details. systemctl status apache2.service显示: ● apache2.service – LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2) Active: active (running) (Result: exit-code) since Tue 2015-09-01 01:03:23 UTC; 10h ago Docs: man:systemd-sysv-generator(8) Process: 5359 ExecReload=/etc/init.d/apache2 reload (code=exited, status=1/FAILURE) […]
我正在尝试使用html 5 websockets连接到我的websocket服务器。 直接连接工作正常,但是当我试图隐藏我的服务器后面的Apache代理不起作用。 它结束了: var ws = new WebSocket("wss://www.example.com/generator/wss/"); undefined WebSocket connection to 'wss://www.example.com/generator/wss/' failed: Error during WebSocket handshake: Invalid status line 但如果我直接连接到wss://www.example.com:9002,那么它的工作原理… 这是我的apacheconfiguration: <VirtualHost *:80> ServerName www.example.com ServerAdmin [email protected] ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost *:443> ServerName www.example.com ServerAdmin [email protected] SetEnv EXAMPLE_SERVER_ENVIROMENT production SSLEngine on SSLProtocol all -SSLv2 […]
我们的客户不想在他们的防火墙上打开端口3000,我们的应用程序使用该端口的Node.js。 一直试图find一种方法来redirect端口3000(node.js)的stream量,所以我们可以把我们的网站只使用域名。 我们也在同一个盒子上运行Apache。 AWS上的Ubuntu。 我现在主要工作,但是缺less一小部分的难题:它现在与一个端口3000redirect到节点,但我认为在启用这个,我不知道如何与正常的stream量工作到Apache根。 (80和443不再使用apache。)使用3000,节点在http和https中都按预期响应。) 在这个改变之前,我们将以这种方式testing节点: app.company.net:3000/api/test(https) 它会返回: “{”status“:401,”message“:”无效的令牌或密钥“}” 目前的问题: app.company.net/ < – 不工作,调出“{”code“:”ResourceNotFound“,”message“:”/不存在“}应该调出门户。 (HTTP) app.company.net/ < – 不工作,调出“{”code“:”ResourceNotFound“,”message“:”/不存在“}应该调出门户。 (HTTPS) app.company.net/api/test < – WORKS,调出预期的“{”status“:401,”message“:”无效的令牌或密钥“}”。 (HTTP) app.company.net/api/test < – WORKS,调出预期的“{”status“:401,”message“:”无效的令牌或密钥“}”。 (HTTPS) 我已经在apache中安装并configuration了mod_proxy,并且我的httpd.conf文件中的redirect如下所示: <VirtualHost *:80> ServerName app.company.net ProxyPreserveHost on ProxyPass / http://localhost:3000/ </VirtualHost> 如果我注释掉上面的话,会发生相反的情况。 Apache服务于所有,但我不能没有附加:3000到该url的节点响应。 还尝试过注释掉上述所有内容,并且使用了mod_rewrite,但那是它自己的兔子洞。 几个小时后,没有运气。 我不断收到/ api / test在服务器上不存在的错误。 这应该可能是另一张票,但。 我究竟做错了什么? 谢谢! -P