如何根据我浏览的目录将域指向多个端口?

如何根据我浏览的目录将域指向多个端口?

我家里有一台服务器。该服务器运行在公共 IP 上,该 IP 在我的域上定义为 A 记录。

目前一切正常。

我使用 Apache 和 Confluence 为一个小型网站运行。

Apache: 80  
Confluence: 8090  

我想知道的是如何进行设置以便如果我浏览到:

domain.net/confluence

Apache 是否知道应将其重定向到端口8090?是否只需为同一 IP 设置虚拟主机,但将其指向该目录并让其监听8090即可?

答案1

所以我发现我可以使用 nginx 来做到这一点,无论如何我都计划设置它。

这就是我所做的!

添加于nginx/sites-available

    server {
    listen www.thelavender.net:80;
    server_name www.thelavender.net;
    location /confluence {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8090/confluence;
    }
}

复制至nginx/sites-enabled

在我的conf/server.xmlConfluence 中我添加了以下内容:

proxyName="www.xxxxxxx.net" proxyPort="80" />

到以下代码块的末尾:

<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
            maxThreads="48" minSpareThreads="10"
            enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
            protocol="org.apache.coyote.http11.Http11NioProtocol"

重新启动了 Confluence 和 Nginx,然后 BOOM!!! Nginx 正在将端口 8090 转发到 80,我不再需要使用该端口的丑陋 URL!!

甜的!

更新

我想回来更新这个,因为我找到了一种更好的方法来为在同一个域下运行的多个应用程序设置服务器块。就我而言,我想在同一个域后面运行 Confluence 和 JIRA。

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name www.example.com;

location / {
    try_files $uri $uri/ =404;
}

location /jira/ {
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-Server $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://192.168.1.2:8080;
   }

location /confluence/ {
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-Server $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8090;
   client_max_body_size 10M;
}
}

或者更简单

server {
listen 80;

server_name www.example.com;

location /confluence {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://localhost:8090/confluence;
}

location /jira {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://localhost:8080/jira;
    client_max_body_size 10M;
}
}

杜尔达!!!

相关内容