我有两个IP映射在我的主机上: 1.2.3.4和11.22.33.44(“故障转移”IP) 我现在正在一个没有域名的网站上工作。 我想在11.22.33.44之前提供它,直到我有一个域名。 所以,我想在Nginx上创build一个服务器块,它只能处理发送到IP 11.22.33.44故障转移的请求。 (其他站点已经在其他IP上configuration)。 有没有可能做到这一点?
我的服务器使用自签名SSL证书正常工作,直到我添加了以下几行来将包含wwww请求redirect到non-www站点: <VirtualHost *:443> ServerName www.mydomain.com Redirect permanent / https://mydomain.com/ </VirtualHost> 我得到的错误是: 服务器应该是SSL感知的,但没有configuration证书[提示:SSLCertificateFile]((null):0) 我认为一个简单的redirect不需要SSL。 应该做些什么才能使这个简单的redirect工作?
这是我用标准的nginx.conf做的 如果我使用端口boo.dev:8060我没有问题,但如果我做localhost或它的别名它总是下载的东西? 我似乎无法设置虚拟主机名称,只是让它工作。 感谢您的任何build议。 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; error_log /var/log/nginx-error.log debug; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; # include /usr/local/etc/nginx/conf.d/*.conf; default_type application/octet-stream; #log_format main '$remote_addr – $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; error_log […]
我有一个Web服务器,它设置为不同的域dynamic服务不同的文档根 <VirtualHost *:80> <IfModule mod_rewrite.c> # Stage sites :: www.[document root].server.company.com => /home/www/[document root] RewriteCond %{HTTP_HOST} ^www\.[^.]+\.server\.company\.com$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^www\.([^.]+)\.server\.company\.com(.*) /home/www/$1/$2 [L] </IfModule> </VirtualHost> 这使得www.foo.server.company.com将服务于server.company.com:/home/www/foo/的文档根目录:/ server.company.com:/home/www/foo/ 对于这些网站之一,我需要添加一个ProxyPass ,但我只希望它被应用到该网站。 我试过类似的东西 <VirtualHost *:80> <Directory /home/www/foo> UseCanonicalName Off ProxyPreserveHost On ProxyRequests Off ProxyPass /services http://www-test.foo.com/services ProxyPassReverse /services http://www-test.foo.com/services </Directory> </VirtualHost> 但是,我得到这些错误 ProxyPreserveHost不允许在这里 ProxyPass | ProxyPassMatch在位置中定义时不能有path。 […]
我有三个内部服务器,永远不会有任何连接到互联网。 我不得不build立一个当地的百胜餐饮回购,以设置他们的工具,如bugzilla等。 但是,所有三个连接在一起,我通过以太网连接,直接连接到我的笔记本电脑连接到他们。 在其中一台服务器上,我想运行其他网站,以便在内部看到它们也挂钩到以太网连接。 我已经安装httpd并启动它,但去我的笔记本电脑上的网页,并试图召唤10.0.0.3不会带来任何东西。 我假设我的笔记本电脑认为我在看它的Web服务器,并不知道如何访问其他服务器。 这是一个Cent OS服务器,我想用于内部网页,顺便说一句。 我怎样才能build立这个空隙的服务器上的DNS设置,只能通过以太网访问,所以我可以服务器上的网站? 我已经将虚拟主机指定为10.0.0.3:80,并且在10.0.0.3:80上也有Listen,但是我知道我错过了其他一些关键。
嘿所以我试图使用Apache的mod_rewrite模块做一些基本的url在我的网站上的重新调整,所以他们变得更友善一点 基本上我有一个虚拟主机文件,看起来像这样 <VirtualHost *:80> ServerAdmin [email protected] ServerName mind-knowledge.com ServerAlias www.mind-knowledge.com DocumentRoot /var/www/tagmenu <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/tagmenu> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all <IfModule mod_rewrite.c> RewriteEngine on RewriteRule /video/([0-9]+) /PlayVideo/index.php?videoID=13424 </IfModule> </Directory> </VirtualHost> 现在从我的理解重写规则应该允许http://www.mind-knowledge.com/PlayVideo/13424/呈现为页面http://www.mind-knowledge.com/PlayVideo/index.php?videoID=13424是否正确? 目前我得到404,我已经运行sudo a2enmod rewrite和重新加载Apache。 任何人都可以帮我在我做错了什么或build议一些方法来解决问题,在此先感谢。 布兰登
我试图简单地更改我的ServerName和Server别名,但即使重新启动Apache,它也不会使更改有效。 是否有某种caching,我需要清除某处,以使我的虚拟主机设置的变化工作?
www.example.com。 1800 IN CNAME example.com。 other.example.com。 1800 IN CNAME example.com。 当所有条目指向完全相同的DocumentRoot时,哪个方法在Apache中是正确的? 下面的方法可以工作吗? <VirtualHost *:80> DocumentRoot "/some/place/" ServerName example.com </VirtualHost> 或者我将为每个CNAME创build一个VirtualHost条目? <VirtualHost *:80> DocumentRoot "/some/place/" ServerName example.com </VirtualHost> <VirtualHost *:80> DocumentRoot "/some/place/" ServerName www.example.com </VirtualHost> <VirtualHost *:80> DocumentRoot "/some/place/" ServerName other.example.com </VirtualHost>
我需要按照确切的顺序加载三个虚拟主机,以使我的configurationscheme按预期工作。 default (Apache默认虚拟主机) phpmyadmin (为所有pma。*子域名提供phpMyAdmin的虚拟主机) mysite.com (我的网站的虚拟主机) 当Apache从/etc/apache2/sites-available加载default虚拟主机时,它会在/etc/apache2/sites-enabled变成000-default ,这是Apache在收到请求时尝试的第一个(默认)虚拟主机。 因此,我将我的虚拟主机从phpmyadmin更名为00-phpmyadmin所以Apache会按照以下顺序尝试: 000-default 00-phpmyadmin mysite.com 令我惊讶的是, 00-phpmyadmin出现在BEFORE 000-default 之前 ! 看到apache2ctl -S的输出: VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server MY_SERVER_HOSTNAME (/etc/apache2/sites-enabled/00-phpmyadmin:1) port 80 namevhost MY_SERVER_HOSTNAME (/etc/apache2/sites-enabled/00-phpmyadmin:1) port 80 namevhost MY_SERVER_HOSTNAME (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost mysite.com (/etc/apache2/sites-enabled/mysite.com:1) Syntax OK 我不得不将00-phpmyadmin重命名为0phpmyadmin ,以使其正常工作: VirtualHost […]
我正在尝试在Apache中获得反向代理function。 我正在使用Windows Server 2012上的Bitnami RubyStack。以下configuration使Apache甚至无法启动 – error.log似乎没有任何问题。 <VirtualHost *:80> ServerName mydomain.nl ServerAlias mysub.mydomain.nl # this is a Rails application DocumentRoot "C:/Bitnami/rubystack-2.0.0-17/projects/dummy" RewriteEngine On <Proxy balancer://thinservers> BalancerMember http://127.0.0.1:3001 </Proxy> # Redirect all non-static requests to thin RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://thinservers%{REQUEST_URI} [P,QSA,L] # Custom log file locations ErrorLog "C:/Bitnami/rubystack-2.0.0-17/projects/dummy/log/error.log" CustomLog "C:/Bitnami/rubystack-2.0.0-17/projects/dummy/log/access.log" </VirtualHost> 我想要实现的是将端口80上的传入请求转发到3001.我认为可能有问题,因为Bitnami文档根目录也被configuration。 我在Apache中并不舒服。 我已经包含了我需要的代理function的模块。 […]