在具有多个IP的Linux机器上,我遇到了一个问题:将特权端口redirect到服务器正在侦听的非特权端口,该端口绑定到特定IP。 将此规则添加到iptables中,将传入的通信量从端口80redirect到8080: iptables –table nat –append PREROUTING –protocol tcp –dport 80 \ –jump REDIRECT –to-ports 8080 然后启动一个netcat监听所有的IP,端口8080: nc -l 0.0.0.0 8080 然后从另一台机器发送一个数据包到端口80: echo foo | nc 10.0.0.39:80 echo foo | nc 10.0.0.39:8080 这两个数据包都被接收到。 现在是奇怪的事情。 当你让netcat监听特定的IP时,它不会看到redirect的数据包。 nc -l 10.0.0.39 8080 现在没有收到发送到端口80的数据包。 只有端口8080上的数据包。区别在于服务器如何绑定侦听端口 – 0.0.0.0可以工作,但是特定的IP不能。 问题不在于netcat,因为nginx(我在做基于IP的虚拟主机)有同样的问题。 我试图通过指定目标地址是10.0.0.39来扩展iptables规则,但是这仍然不起作用。
我已将MAMP设置中的文档根目录更改为Dropbox中的文件夹,以便我可以轻松地在计算机之间同步文件。 这很好,直到我开始使用相对文件path时,找不到URL,因为它查看的是根目录而不是保存站点文件的子目录。 我试图设置一个虚拟主机来解决这个问题,但似乎已经设置我自己的MAMP文档根Dropbox不会让这种情况发生。 我把这一行添加到我的主机文件127.0.0.1 oip.local的底部,我在我的Apache httd.conf的末尾添加了这个: NameVirtualHost * <VirtualHost *:80> DocumentRoot "/Volumes/OSX/Lara/Dropbox/Sites" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "/Volumes/OSX/Lara/Dropbox/Sites/onlyinpgh" ServerName oip.local </VirtualHost> 如果我转到设置并将文档根目录更改为/Applications/MAMP/htdocs ,则oip.local将进入正确的主页,但是(如预期的那样)只要指向根目录中的文件,在Dropbox中,而不是htdocs。 我一直在重新启动MAMP,清除Cache / Cookies,在整个过程中重新启动浏览器。 我也有Apache端口设置默认,80。 任何想法如何避免这一点? 有没有比Dropbox更好的方式来跨计算机同步我的网站文件? 提前致谢。
自从最后几天以来,我所有的子域名都不再工作了。 我只得到一个404错误/占位符页面。 我没有对Lighttpd.conf或10-simple-vhost.conf进行任何更改。 有没有类似的问题? 我该如何解决这个问题? 这是我的lighttpd.conf server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_rewrite", ) server.document-root = "/var/www/hosts" server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) server.errorlog = "/var/log/lighttpd/error.log" server.pid-file = "/var/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" index-file.names = ( "index.php", "index.html", "index.htm", "default.htm", " index.lighttpd.html" ) url.access-deny = ( "~", ".inc" ) static-file.exclude-extensions = ( ".php", […]
我已经看到了很多robot.txt的东西,还有一些mod改写的解决scheme,看起来很有前途……但是一直没能find一个简单的解决scheme来阻止Spiders / Scrapers /无论我想阻挡谁…我宁愿做这个主机名/域,因为它似乎比依靠用户代理等更简单… 例如,说我在Apache日志中看到这个 msnbot-207-46-192-48.search.msn.com – – [07/Dec/2011:23:01:41 -0500] "GET /%3f/$/bluebox/blog/2011/iphoto/ HTTP/1.1" 404 366 好的…我想阻止*.search.msn.com来到这里,或任何我的网站 – 在我的任何文件夹 – VHOST或其他… 通常情况下,我有很多<VirtualHost *.80>的设置,并不想重复每个主机的configuration。在同样的情况下,我有很多DocumentRoot的…并在其中每个文件,又名.htaccess真的不是一个选项.. 我一直在使用httpd.conf中的东西,类似于… RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^BadBot [OR] RewriteRule ^(.*)$ http://go.away/` 我如何使用UseCanonicalName On提供的主机名来覆盖 – Deny all我想要的域名?
您好,我有一个新的rackspace云服务器的这个问题。 我有一个Apache的ServerName设置为mydomain.com DocumentRoot是/ var / www / html 我也有一些虚拟主机,我想在这台服务器上 我在/etc/httpd/conf.d/中有一个名为hosts.conf的文件,它的内容看起来像这样 NameVirtualHost *:80 <Directory /var/domains> AllowOverride None Options None Order allow,deny Allow from all </Directory> <VirtualHost *:80> ServerName mydomain-1.com DocumentRoot /var/domains/mydomain-1.com ServerAlias www.mydomain-1.com ServerAdmin [email protected] </VirtualHost> <VirtualHost *:80> ServerName mydomain-2.com DocumentRoot /var/domains/mydomain-2.com ServerAlias www.mydomain-2.com ServerAdmin [email protected] </VirtualHost> 所以问题是当我添加尝试访问这三个网站时, mydomain.com,mydomain-1.com和mydomain-2.com,他们都返回mydomain.com内容。 任何帮助表示赞赏 谢谢
2服务器:服务器1在公共IP上,服务器2在本地局域网上。 我现在正在使用Server1上的代理。 但是我需要在Server2上添加一个不是公认的域名的本地主机。 所以我通过代理添加它。 似乎在这里有困难。 让我知道。 我在server1和server2的虚拟主机文件上添加了本地主机,但不起作用。 目前在服务器1上使用代理设置和工作方式安装,这是httpd_vhosts.conf中的内容。 ProxyRequests Off ProxyPreserveHost On NameVirtualHost * <VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com DocumentRoot "/Library/Server/mydocuments" <Directory "/Library/WebServer/mydocuments"> Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName domain2.com ServerAlias www.domain2.com ProxyPass / http://10.1.10.2:80/ ProxyPassReverse / http://10.1.10.2:80/ </VirtualHost> 对于新的本地主机,我在上面的Server1的httpd_vhosts.conf中添加了这个。 <VirtualHost *:80> ServerName nynews.domain1.com ServerAlias www.nynews.domain1.com ProxyPass / http://10.1.10.2:80/ ProxyPassReverse […]
我知道Apache作为服务运行时必须使用UNCpath作为networking资源,但我有一个本地驱动器I: 这不是虚拟驱动器,也不是映射驱动器,它是一个单一的物理磁盘。 我不断收到我的日志中的这个错误 Syntax error on line X of C:/Program Files/Apache Software Foundation/Apache2.2/conf/extra/httpd-vhosts.conf: <Directory "I:/path/to/web/root"> path is invalid. 然而,这条道路绝对存在。 我可以通过一个不同的UNC共享访问它,但是不会每个文件访问都通过SMB吗? 这不会杀死性能?
我已经在端口80上的Apache 2.2.22 + VirtualHosts上设置了Varnish作为端口80上的反向代理。 当我从端口81进入我的网站时,一切正常,当我尝试从端口80进入时,我得到了Apache2 Test Page。 我只运行一个后端(全部在同一台机器上)。 我应该添加到我的Varnishconfiguration来支持所有的Apache VirtualHosts? 我想有这样的通用规则,将添加所有新的域名,而不必每次更改我的Varnishconfiguration。 在Lighttpd +虚拟主机上,所有的东西都是用完了。
升级到Lion后,我的所有虚拟主机都停止工作。 他们redirect到“It works”主要的apache页面在我的设备上有一些奇怪的原因。 例: / etc / hosts: 127.0.0.1 myhost.com <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/testproj/" ServerName myhost.com <Directory "/Library/WebServer/Documents/testproj/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog "/private/var/log/apache2/testproj-error_log" CustomLog "/private/var/log/apache2/testproj-access_log" common </VirtualHost> 还有其他人面临同样的问题吗? 我怎样才能解决这个问题?
我在/etc/apache2/sites-enabled编辑了我的apache vhost文件来添加以下内容: <VirtualHost *:80> ServerName www.mysite.cn ServerAlias mysite.cn *.mysite.cn DocumentRoot /home/user/static/mysite/cn </VirtualHost> 它仍然指向服务器上的默认网站,当我浏览到mysite.cn但是当我沿着ww3.mysite.cn的行input任何东西指向新的正确的文档根任何线索的问题可能是什么,因为我丢失。