Nginx的反向代理配置多域虚拟主机

问题描述 投票:0回答:1

我无法配置我的nginx的代理,尽管读了一些指南,并试图连续三个晚上。

这里是我的拓扑结构:enter image description here

(来自互联网)所有的80端口的流量重定向到192.168.1.4,Ubuntu的服务器虚拟运行Nginx的。

我有一个NAS,其具有连接到管理页面的子域myName.surname.com。对NAS,我有Apache网络服务器上运行的托管几个网站的端口81,82,

所述NAS使用virtualhosts,所以域成功重定向(不使用nginx的)。

我也有一个ASP.NET网站上的另一个192.168.1.3:9810在IIS上运行。

现在,这里是我的NGINX配置。我试图将其配置了几次,但把它弄坏了,所以我已经把它恢复到默认状态:

server {        
    listen 80 default_server;
    root /usr/share/nginx/html;
    index index.html index.htm;      
    server_name localhost;
    location / {            
        proxy_pass http://192.168.1.1; #WORKS OK
    }
}

如果我去myName.surname.comwordpressWebsite.co.ukmyIISSiteDomain.co.uk我与配置高于192.168.1.1:8080或192.168.1.1:81用正确的页面映入眼帘。

这是一个开始。

第一个问题是,当我浏览到任何其他页面(不主页)像wordpressWebsite.co.uk/blog,它打破了给404所以我试图URL之间进行区分?我读的配置应该是这样的:

server {        
    listen 80;
    server_name wordpressWebsite.co.uk;
    location / {            
        proxy_pass http://192.168.1.1:81;
    }
}
server {        
    listen 80;
    server_name myName.surname.com;
    location / {            
        proxy_pass http://192.168.1.1;
    }
}
server {        
    listen 80 myIISSiteDomain.co.uk
    location / {            
        proxy_pass http://192.168.1.3:9810;
    }
}

但是,这并不完全正确。

1)wordpressWebsite.co.uk加载了页面,但只要我去一个像wordpressWebsite.co.uk/blog任何其他链接它打破了,给我喜欢它试图访问192.168.1.1/blog而我的NAS错误信息比虚拟主机〜/博客。实际上,它改变了我的网址导航栏中为192.168.1.1那么,为什么表现这样的吗?

2)如果我使用的是虚拟主机,我不认为我应该需要通过nginx的港口以通为192.168.1.1:81(wordpressWebsite.co.uk)。当然我只是需要把它指向192.168.1.1,然后虚拟主机应检测的URL映射到81?我不知道如何做到这一点,因为我不完全理解什么是真正会从nginx的传递到服务器?

nginx proxy reverse-proxy virtualhost
1个回答
1
投票

您可以添加try_files $uri $uri/ /index.php?$args;看到这个https://www.geekytuts.net/linux/ultimate-nginx-configuration-for-wordpress/

© www.soinside.com 2019 - 2024. All rights reserved.