7

Tomcat 8でSpring MVC Webアプリケーションを開始しました。

SSL 認証用の証明書を作成しました。私はserver.xmlにそのようなものを持っています

<Connector SSLEnabled="true" 
  keystoreFile="ks.p12" 
  keystoreType="pkcs12" 
  keystorePass="*****"
  port="8443"
  scheme="https"
  secure="true" 
  sslProtocol="TLS"/> 

Ok。今、すべてがうまくいきます!

しかし、443ポートでサーバーを起動する方法は? open https://dev-sp.ge/を使用しようとすると 、「この Web ページは利用できません」というメッセージが表示されます。

ここに画像の説明を入力

4

5 に答える 5

9

Unix システムで 1024 未満のポートを使用するには、通常、特別な許可または権限が必要です。

8443「保護された」ポート範囲にないため、Tomcatはポートで動作します。

もちろん、最初のステップは443、Tomcat のポートを に変更することserver.xmlです。

Authbind を使用して解決する

Tomcat が 443 または 80 ポートを使用できるようにする 1 つの方法は、Authbindを使用することです。

authbind は、root として実行しない、または実行すべきではないプログラムが、制御された方法で番号の小さいポートにバインドできるようにします。

で 1024 未満のポートを有効にする必要があります/etc/default/tomcat8。次の行を追加します。

AUTHBIND=true

このための新しいファイルを作成します。

sudo touch /etc/authbind/byport/443
sudo chown tomcat8 /etc/authbind/byport/443
sudo chmod 500 /etc/authbind/byport/443

setcap を使用して解決する

setcapこれを解決する別の方法は、 unix コマンドを使用して有効にできる制限付きポートに実行可能バイナリをバインドできるようにすることです。

sudo setcap cap_net_bind_service=+ep /path/to/binary
于 2014-09-09T11:45:38.003 に答える
6

私にとってうまくいった解決策:443リクエストを8443にリダイレクトします。

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

( /sbin/) iptables-save(ルートとして) を使用して、変更を永続的にします。

于 2015-05-04T09:09:13.223 に答える
0

MacOSX >= Yosemite が必要です。

追加:

echo "
rdr pass inet proto tcp from my-domain.com to my-domain.com port 443 -> 127.0.0.1 port 9443
" | sudo pfctl -ef -

または:

echo "
rdr pass inet proto tcp from any to any port 443 -> 127.0.0.1 port 9443
" | sudo pfctl -ef -

リスト:

sudo pfctl -s nat

削除する:

sudo pfctl -F all -f /etc/pf.conf

https://salferrarello.com/mac-pfctl-port-forwarding/

于 2016-08-22T10:08:50.347 に答える