Ubuntu環境、sever.xmlをいじってTomcatのポート番号を変更する。
関連ページ
Tomcatのデフォルトのポート番号は8080なので、たとえばunity-engineer.topのドメインに繋ぐ場合は、unity-engineer.top:8080という冗長なURLを打ち込まないとサイトを見ることは出来ません。
一応、このTomcatのポート番号を80に変更すればドメイン名だけでhttp通信できるし、443にすればドメイン名だけでhttps通信できます。

server.xmlを編集する
まず
server.xml
があるディレクトリに移動し、viコマンドで開きます。
cd
[Tomcatのインストールディレクトリ]
/conf
sudo
vi
server.xml
中には大量のコメントアウトされた
Connector
設定が書いてありますが、初期状態では下コードが有効化されているはずです。
<Connector port="8080" protocol="HTTP/1.1"
<tab>connectionTimeout="20000"
<tab>redirectPort="8443" />
この
8080
の部分を
80
に変えるだけでOK。
<Connector port="80" protocol="HTTP/1.1"
<tab>connectionTimeout="20000"
<tab>redirectPort="8443" />
Tomcatを再起動します。
sudo service tomcat restart
これでポート80でTomcatに直接つなぐことはできます。ただ一般にはあまり良い方法とされてないらしいです。
TomcatはApacheと連携することを前提に設計されていて、そのApacheのデフォルトのポート番号はhttp通信が
80
、httpsは
443
になっています。
同じサーバ内で、違うアプリケーションが同一のポート番号を共有することはできません。
もしApacheと連携するつもりなら、このTomcatのポート番号を80や443にするのは確かによくないと思われます。
Apacheと連携する場合は、
リバースプロキシ
という方法でTomcatがどんなポート番号であろうと助長なURL入力を避けることができます。
これがベストプラクティスではありますが、Apacheの知識が必須で、知識ゼロから導入するのは結構面倒でもあります。
Tomcatだけでサイトを運営するなら、ポートを80に変えてしまうのも別に良いんでわと思います。

ポート80接続とポート443接続両方に対応する
server.xml
はポート番号が被っていなければ、複数の
Connector
設定を有効にできます。
http通信とともにhttps通信を有効にする場合、下のようなコードを打ち込みます。
SSL認証は済んでいるものとします。
<Connector
port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="
[keystoreのpath]
"
keystorePass="
keystoreのパスワード
"
redirectPort="8443"/>
Tomcatを再起動します。
sudo service tomcat restart

natを使ってポート8080からポート80に繋ぐ
server.xmlを変えなくても、
natのPREROUTINGチェーン
を使うと内部的にポート8080の接続をポート80に変換してくれます。
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
こちらの方が解決法としては簡単かもしれないです。
PREROUTINGチェーンを解除するには下のコマンドを打ち込みます。
0
0