1. 概要
「apache」の設定を行います。
2. apache
「apache」に「Forgejo」の定義を行います。
証明書が必要になります。
証明書の作成については、「SSL(Secure Sockets Layer)」をご参照ください。
今回は、ローカルのみで使用するので、自己証明書を作成します。
「apache」の設定。
vi /usr/local/etc/apache24/httpd.conf
(以下、「FreeBSD 15.1 RELEASE」「apache24-2.4.68」の行番号です)
下記の 129、132、148、181、526行を有効化します。
#LoadModule proxy_module libexec/apache24/mod_proxy.so
#LoadModule proxy_connect_module libexec/apache24/mod_proxy_connect.so
#LoadModule proxy_ftp_module libexec/apache24/mod_proxy_ftp.so
#LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
#LoadModule ssl_module libexec/apache24/mod_ssl.so
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
#Include etc/apache24/extra/httpd-ssl.conf
/usr/local/etc/apache24/extra/httpd-ssl.conf
下記を実際の環境に合わせて、変更します。
DocumentRoot "/usr/local/www/apache24/data"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"
以下、自己証明書が「SSL 自己証明書を作成」で作成したままである場合が、上。
「Let's Encrypt」で取得した証明書が。
/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/cert.pem
/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/chain.pem
/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/fullchain.pem
/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/privkey.pem
にある場合をしたとして・・・。
SSLCertificateFile "/usr/local/etc/apache24/server.crt"
↓
SSLCertificateFile "/etc/ssl/demoCA/cert.pem"
SSLCertificateFile "/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/cert.pem"
SSLCertificateKeyFile "/usr/local/etc/apache24/server.key"
↓
SSLCertificateKeyFile "/etc/ssl/demoCA/nokey.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/privkey.pem"
#SSLCACertificateFile "/usr/local/etc/apache24/ssl.crt/ca-bundle.crt"
↓
SSLCACertificateFile "/etc/ssl/demoCA/cacert.pem"
#SSLCACertificateFile "/usr/local/etc/apache24/ssl.crt/ca-bundle.crt"
</VirtualHost>
290行の前に下記を記述します。
ProxyPreserveHost On
ProxyRequests Off
AllowEncodedSlashes NoDecode
SSLCertificateFile "/etc/ssl/demoCA/server-cert.pem"
SSLCertificateKeyFile "/etc/ssl/demoCA/server-key.pem"
SSLCertificateChainFile "/etc/ssl/demoCA/cacert.pem"
<Location />
Require all granted
ProxyPass http://127.0.0.1:3000/
ProxyPassReverse http://127.0.0.1:3000/
</Location>
</VirtualHost>
ProxyPreserveHost On
ProxyRequests Off
AllowEncodedSlashes NoDecode
SSLCertificateFile "/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/fullchain.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/ns.vm.sing.ne.jp/privkey.pem"
<Location />
Require all granted
ProxyPass http://127.0.0.1:3000/
ProxyPassReverse http://127.0.0.1:3000/
</Location>
</VirtualHost>
3. 再起動
上記が終わったら、「apache」の定義を確認して、再起動します。
service apache24 configtest
service apache24 restart
4. 参考サイト
本ページは、「Gemini」伍長を参考にさせていただきました。