次のstunnel設定ファイルを使用してください。
chroot = /var/run/stunnel
setuid = nobody
setgid = nobody
debug = 7
output = /var/log/stunnel/stunnel.log
pid = /stunnel.pid
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
client = yes
[https]
accept = 127.0.0.1:10051
connect = 10.0.10.116:443
「sudo stunnel」と入力すると、次のような結果が表示されます。 (フォアグラウンドコマンドを使用してログを端末に送信すると、プロファイルは機能します)
[chuck@scorch ~]$ sudo stunnel
Clients allowed=500
stunnel 4.56 on x86_64-redhat-linux-gnu platform
Compiled/running with OpenSSL 1.0.1e-fips 11 Feb 2013
Threading:PTHREAD Sockets:POLL,IPv6 SSL:ENGINE,OCSP,FIPS Auth:LIBWRAP
Reading configuration from file /etc/stunnel/stunnel.conf
FIPS mode is enabled
Compression not enabled
PRNG seeded successfully
Initializing service [https]
Insecure file permissions on /etc/stunnel/stunnel.pem
Certificate: /etc/stunnel/stunnel.pem
Certificate loaded
Key file: /etc/stunnel/stunnel.pem
Private key loaded
SSL options set: 0x01000004
Configuration successful
Service [https] (FD=12) bound to 127.0.0.1:10051
Cannot open log file: /var/log/stunnel/stunnel.log
Closing service [https]
Service [https] closed (FD=12)
Sessions cached before flush: 0
Sessions cached after flush: 0
Service [https] closed
str_stats: 16 block(s), 1147 data byte(s), 928 control byte(s)
「chrootコマンド」が原因である種の権限の問題であることがわかりましたが、stunnelログディレクトリの権限を「nobody:nobody」に設定してみましたが、うまくいきませんでした。だから私は何が起こっているのか正確に理解していませんでした。 「chroot」と「pid」の行を維持すると機能しますか?私はこれが私が見ていない明らかなものであると確信しています。どんなアイデアがありますか?
Centos 7で実行しています。
答え1
ありがとうトリガーそして先行は達成するのが難しい私は/var/run/stunnel
ログファイルをディレクトリに入れて、これを行う方法を見つけました。その後、再起動後にディレクトリを再生成した後にsudo mkdir /var/run/stunnel
権限を設定しましたがsudo chown nobody:nobody /var/run/stunnel
、少なくとも実行中に再起動を行うとなくなりましたが、テスト中や起動後はバックグラウンドでログを見ることができました。chroot
ログファイルの問題を引き起こすのと同じ方法で鍵と証明書の場所に影響を与えない理由はまだ理解されていませんか?
答え2
ログファイルへの相対パスを使用して問題を解決できました。たとえば、次のようになります。
出力 = stunnel.log
chroot = /var/run/stunnel