Nginx 阻止端口

Nginx 阻止端口

我正在运行安装了 nginx、jira 和 bitbucket 的 debian(jessie,64 位)服务器。该 URL 称为“www.example.com”

首先我安装了 jira,打开了安装站点(http://example.com:8080)并完成了安装。

之后我在 /etc/nginx/sites-available 中创建了一个虚拟主机“jira.example.com”,并在 /etc/nginx/sites-enabled 中创建了相应的符号链接:

server {
    listen 80;
    server_name jira.example.com;   
    location / {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

这很好用。当我打开时,http://jira.example.com它会带我进入我的 jira-dashboard。

然后我安装了 bitbucket 并打开了安装页面http://example.com:7990,它也可以正常工作。

然后我决定创建另一个名为“bitbucket.example.com”的虚拟主机:

server {
    listen 80;
    server_name bitbucket.example.com;  
    location / {
        proxy_pass http://localhost:7990/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

但是这个不起作用,而jira却完全正常工作。

当我编辑include /etc/nginx/sites-enabled/*;nginx.conf 中的 -line时include /etc/nginx/sites-enabled/*.*;,它​​将每个都重定向到http://example.com/*http://example.com:7990所以我认为我以某种方式错误配置了 nginx。

答案1

如果http://example.com:7990不起作用,显然 nginx-proxy 也不起作用。尝试netstat -anp | grep 7990查看 bitbucket 是否正在监听连接。如果没有,请修复 bitbucket,而不是 nginx。

答案2

/语句末尾有一个proxy_pass。这意味着所有 URI/在传递给代理时都将被替换为。例如,http://bitbucket.example.com/testing将被代理到http://localhost:7990/

我不清楚这些应用程序如何使用 URL,但我认为它们需要完整的 URI。

这意味着您必须proxy_pass http://localhost:7990;在配置中使用不带结尾斜杠的。

相关内容