【CentOS】Tomcat と Nginx を連携する
おはようございます。
今日は、TomcatとNginxを連携させる方法について。
それぞれのインストールについては次の記事を参考にしていただければ。
【CentOS】CentOS7.5 に Tomcat8 をインストールする
【CentOS】CentOS7.5に Nginx をインストールする
スポンサーリンク
Nginx設定ファイルの作成
単純に http://localhost/ にアクセスがあった場合に、
Tomcatに連携するには次のような設定ファイルを追加すればいいだけです。
/etc/nginx/conf.d/xxxx.conf
server {
listen 80;
server_name xxx.yyy.com;
root /var/local/webData;
access_log /var/log/nginx/tomcat_access.log;
error_log /var/log/nginx/tomcat_error.log;
location / {
proxy_pass http://localhost:8080/;
}
}
コマンド
rootユーザーで作業します。
$ su root パスワード: $ vi /etc/nginx/conf.d/tomcat.conf
Nginxを再起動します。
$ systemctl restart nginx
設定が反映されない場合は、次のコマンドを試してみてください。
$ systemctl reload nginx
確認
次のページにアクセスします。
http://[ホスト or IP]/
Tomcatのページが表示されればOKです。
SSLの設定
設定ファイルの作成
SSLを利用する場合は次のようにします。
※証明書ファイルは事前に用意してあるものとします。
/etc/nginx/conf.d/yyyy.conf
# HTTP server
#
server {
listen 80;
server_name xxx.yyy.jp;
# httpはhttpsにリダイレクト
return 301 https://$host/;
}
# HTTPS server
#
server {
listen 443 ssl http2;
http2_push_preload on;
server_name xxx.yyy.jp;
ssl_certificate /etc/nginx/ssl/xxx.yyy.jp.crt;
ssl_certificate_key /etc/nginx/ssl/xxx.yyy.jp.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_connect_timeout 10;
proxy_send_timeout 30;
proxy_read_timeout 300;
proxy_pass http://localhost:8080/;
proxy_redirect http:// https://;
}
}
ポートの解放
デフォルトではSSL(https)のポートが firewall で遮断されているので、次のコマンドを実行して解放します。
コマンド
$ firewall-cmd --add-service=https permanent $ firewall-cmd reload $ firewall-cmd --list-all
その後、Nginxも再起動すればOK
まとめ
TomcatとNginxの連携自体は特に大した話ではありませんでしたね。
次回は未定ですが、
Nginxについて少し掘り下げていければいいなと思ってます。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません