【Misskey】apacheでリバースプロキシを組んでみた
記事を書く前に。
そもそもにお前…記事書くって言っておいて1年放置してんじゃねぇか!
と言うツッコミは大いに受けます。ほんとうにスミマセンデシタ。。。
…ということで、今回はタイトル通り2023年のTwitter(意地でもXと言わない) API制限問題をきっかけに構築した、Misskey鯖「たかのりすきー」を建立するにあたり、自宅サーバで発生したリバースプロキシ絡みのあれこれを
記事にしようと思った次第です。
そもそもの前提。
しの家(Choro's.NET/Toppu.jp)では各種システムを構築・運用していますが、インターネット回線はあくまで1回線(auひかり10G)しかないので
IPv4のグローバルIPは1つしかありません。
もちろんIPv6で運用する事も可能ですが、まだまだIPv6オンリーでは不都合もあります。
そのため、1台リバースプロキシとしてRHEL8.8+apache+Let's Encryptの
構成で構築し、その配下に各種システムをぶら下げて運用しています。
Misskeyを構築してみた
Misskeyの構築自体は別記事として掲載しますのでお時間を下さい。
(とか言ってまた時間かかりそうな気がする…ゴメンナサイ
なお、Misskey Hubではnginxでのリバースプロキシ運用が推奨されています
(nginx向けのconf設定例はちゃんと用意されている)
しかしながら先述の通り、我が家のリバースプロキシはapacheなので
ポート競合などの問題もあり、apacheでリバースプロキシを構築することに。
apacheの設定について
前提として
・takanoriskey.toppu.jpのSSL証明書はLet's Encrypt(certbot)で取得済み。
・Misskeyのリッスンポートは3000番(デフォルトのまま)
・ぶら下がってるMisskeyインスタンスの名前については
リバースプロキシマシンの/etc/hostsに記載済み、もしくは名前解決が
可能な状態であること(takanoriskey.toppu.internal)
・apacheに「mod_proxy」「mod_proxy_http」「mod_ssl」が組込済みで
あること
takanoriskey.conf
<VirtualHost *:443>
ServerName takanoriskey.toppu.jp
# ログ設定
CustomLog ${APACHE_LOG_DIR}/takanoriskey_access.log rp_noauth_combined
ErrorLog ${APACHE_LOG_DIR}/takanoriskey_error.log
LogLevel info
# SSL設定
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/takanoriskey.toppu.jp/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/takanoriskey.toppu.jp/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/takanoriskey.toppu.jp/chain.pem
# HTTP/2対応
Protocols h2
# Rewrite設定
RewriteEngine On
RewriteOptions inherit
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule ^/?(.*) "ws://takanoriskey.toppu.internal:3000/$1" [P,L]
# Proxy設定
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://takanoriskey.toppu.internal:3000/ keepalive=on
ProxyPassReverse / http://takanoriskey.toppu.internal:3000/
RequestHeader set X-Forwarded-Proto "https"
</VirtualHost>
コレをリバースプロキシに設定して、下記コマンドを実行。
# systemctl reload httpd
現在はコレで連合もうまくできているようです。
今後やりたいこと(Misskey関連)
・データベースのメンテナンスを自動化
(PostgreSQLなのでどんどん肥大化する)
・利用ユーザを増やしたい(営業しろ)
営業
toppu.jpでは西川貴教さんが好きな方を中心としたMisskey
「にしかわたかのりすきー」を運用しております。
西川さんに関すること以外でもOK!現在は公開状態になっていますので
気軽に登録していただけると管理者が喜びます!
https://takanoriskey.toppu.jp
参考
下記サイト様の情報を参考にさせて頂きました。多謝。