🚁

Fedora40 でリバプロを動かす

2024/10/14に公開

お家の検証サーバ用の備忘録です。基本 root です。

前提

続きです。

https://zenn.dev/asterisk9101/articles/fedora40server-5

SELinux の許可

これを許可しないと Permission Deny になる。

setsebool -P httpd_can_network_connect on

FQDN の設定など

read -p 'FQDN?>' FQDN
read -p 'IP?>' IP
read -p 'PORT?>' PORT

WebScoket 用の設定の追加

今回、後ろのサーバは websocket を使うので設定を追加する。

cat << EOF > /etc/nginx/conf.d/websocket.conf
map \$http_upgrade \$connection_upgrade {
    default upgrade;
    ''      close;
}
EOF

プロキシする仮想サーバの設定

仮想サーバを設定する。proxy_set_header はわりと適当なので。。。

cat << EOF > /etc/nginx/conf.d/$FQDN.conf
server {
    listen       443 ssl;
    listen       [::]:443 ssl;
    http2        on;
    server_name  $FQDN;

    # このあたりは websocket 用の設定
    proxy_http_version 1.1;
    proxy_buffering off;
    proxy_set_header Host \$host;
    proxy_set_header Upgrade \$http_upgrade;
    proxy_set_header Connection \$connection_upgrade;

    # このあたりは後ろのサーバに接続元の情報を伝えるリバプロの定番設定
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Host \$host;
    proxy_set_header X-Real-IP \$remote_addr;
    proxy_set_header Orign http://\$host;

    location / {
    proxy_pass https://$IP:$PORT;
    }

    error_page 404 /404.html;
    location = /404.html {}

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {}

    include /etc/nginx/default.d/*.conf;
}
EOF

設定を確認して nginx を再起動する。

nginx -t
systemctl restart nginx

以上

GitHubで編集を提案

Discussion