Nginx将请求转发到本地IP

时间:2020-07-07 09:59:37

标签: web-services nginx local

这是我第一次真正使用nginx,所以如果我在这里误用术语,请原谅我。

因此我们公司的网络具有一个静态IP,我可以从多个子域向其发送请求:

jitsi.domain.ext -> public IP
sub2.domain.ext -> public IP
...

这些请求通过防火墙和端口转发到我的专用nginx服务器,并应从那里路由到其他本地服务器,如下所示:

jitsi.domain.ext -> local server (jitsi server)
sub2.domain.ext -> local server (website)
...

为此,我在未修改的全局配置之外为每个子域创建了一个单独的配置,并将其放入

/etc/nginx/sites-available并通过ln -s链接到/etc/nginx/sites-enabled

像这样:

# jitsi.domain.ext

server {
    listen 80;
    listen 443 ssl;

    ssl_certificate           /etc/nginx/cert/jitsiCert.pem;
    ssl_certificate_key       /etc/nginx/cert/jitsiKey.pem;

    server_name jitsi.domain.ext;
    location / {
        proxy_read_timeout 300s;
        proxy_connect_timeout 75s;
        proxy_pass http://192.168.0.139;
        proxy_redirect off;
    }
}

配置被很好地调用,但是它实际上将我重定向到浏览器中的URL“ 192.168.0.139”。当我不在网络中并想访问它时,哪个当然不起作用。

我使用的.pem是我为Jitsi服务器创建的.pem。我认为这是最简单的方法,因为专用的Jitsi服务器也使用nginx,而且我不想篡改它以免破坏它将来获得的任何更新。

如果有人对我有帮助,我将不胜感激。我试图从文档和互联网上讨论的无数其他类似问题中获取一些东西,但是似乎没有什么办法对我有用。预先感谢!

1 个答案:

答案 0 :(得分:0)

借助post,我意识到“问题”确实是jitsi的nginx的重定向,而不是我的“网关” nginx的配置。

Ivan Shatsky帮助我解决了问题Russel Augusthere