web-dev-qa-db-ja.com

参照しているディレクトリに基づいて、ドメインを複数のポートにポイントするにはどうすればよいですか?

自宅でサーバーを実行しています。このサーバーは、ドメインでAレコードとして定義されているパブリックIPで実行されています。

現在、すべてが機能しています。

Confluenceと一緒に小さなWebサイトでApacheを実行しています。

Apache: 80  
Confluence: 8090  

私が知りたいのは、これをどのように設定すればよいかです:

domain.net/confluence

Apacheはこれをポート8090にリダイレクトする必要があることを知っていますか?これは、同じIPの仮想ホストを設定するだけで処理されますが、そのディレクトリを指し示し、8090でリッスンさせますか?

3
Marty Lavender

それで、とにかくセットアップするつもりだった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にコピーしました

confluenceのconf/server.xmlに次を追加しました。

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に転送しており、ポートでwithいURLを使用する必要がなくなりました!!

甘い!

UPDATE

同じドメインで実行されている複数のアプリケーションに対してサーバーブロックをセットアップするより良い方法を見つけたので、戻ってこれを更新したかったのです。私の場合、同じドメインの背後で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;
}
}

ターダ!!!!

2
Marty Lavender