有人知道如何修改nginx.conf文件以重定向到另一个主机吗?我想指示http://mydomain.com/page1和http://mydomain.com/page2将本地网络上的主机分开。mydomain.com/page1 1应为10.100.0.163,mydomain.com/page1 2应为10.100.0.164。
下面是我在Ubuntu服务器上向nginx.conf文件的HTML部分添加的内容。
location /page1/ {
rewrite ^/page1/(.*)$ http://10.100.0.163/$1 permanent;
}
location /page2/ {
rewrite ^/page2/(.*)$ http://10.100.0.164/$1 permanent;
}还有什么需要添加到nginx.conf文件中的吗?我还需要修改其他配置文件吗?
我只是做了一个标准的安装nginx,没有改变任何其他。
发布于 2013-02-23 08:01:18
在基于Debian的发行版(包括Ubuntu)上,nginx需要考虑以下问题( apache包使用了类似的布局):
/etc/nginx/nginx.conf是主配置文件。/etc/nginx/conf.d和/etc/nginx/sites-enabled中的所有文件。/etc/nginx/conf.d/<some-file>是在主配置中添加内容的地方。/etc/nginx/conf.d/<packagename>中添加配置(比如gitweb之类的包,或者一些php-东西)。/etc/nginx/conf.d/local或/etc/nginx/conf.d/local_something,并添加所需的任何添加。
/etc/nginx/sites-enabled/<some-file>是您将虚拟主机所需的配置添加的地方,每个虚拟主机有一个文件。通过将虚拟主机分隔开来,可以更容易地知道应该在哪里更改/修复内容(正如您所知道的,自动忽略与vhost无关的所有内容)。/etc/nginx/sites-available/是包为他们想要添加的vhost放置配置的地方。这些不是自动激活的,为了启用这样的站点,您可以将其链接到或复制到/etc/nginx/sites-enabled/由于要添加的内容是特定于mydomain.com虚拟主机的,所以应该将它们添加到/etc/nginx/sites-enabled/mydomain.com中。其内容应如下:
server{
server_name mydomain.com;
location /page1/ { rewrite ^/page1/(.*)$ $scheme://10.100.0.163/$1 permanent; }
location /page2/ { rewrite ^/page2/(.*)$ $scheme://10.100.0.164/$1 permanent; }
#add config needed to server whatever else on
#location / {}
}关于该配置的说明:
rewrite进行操作,浏览器中显示的url将自动更改为重写的url。https://stackoverflow.com/questions/15034901
复制相似问题