]> cat aescling's git repositories - mastodon.git/commitdiff
Fix parsing `TRUSTED_PROXY_IP` (#18051)
authorYamagishi Kazutoshi <ykzts@desire.sh>
Tue, 19 Apr 2022 07:11:58 +0000 (16:11 +0900)
committersingle-right-quote <11325618-aescling@users.noreply.gitlab.com>
Thu, 5 May 2022 03:56:00 +0000 (23:56 -0400)
config/environments/production.rb
streaming/index.js

index 8d82a46f63d2af11f719ff6337b16378e591c8d6..69f80667e42a50b57c3b933d2192d0eee8041bfa 100644 (file)
@@ -42,7 +42,7 @@ Rails.application.configure do
   config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
 
   # Allow to specify public IP of reverse proxy if it's needed
-  config.action_dispatch.trusted_proxies = ENV['TRUSTED_PROXY_IP'].split.map { |item| IPAddr.new(item) } if ENV['TRUSTED_PROXY_IP'].present?
+  config.action_dispatch.trusted_proxies = ENV['TRUSTED_PROXY_IP'].split(/(?:\s*,\s*|\s+)/).map { |item| IPAddr.new(item) } if ENV['TRUSTED_PROXY_IP'].present?
 
   config.force_ssl = true
   config.ssl_options = {
index 780c4015d2fb30b776d72c0ae3238d2e873caccd..e68f85c17e41e0dbfbe94dd309ee02c80f532f5c 100644 (file)
@@ -146,7 +146,7 @@ const startWorker = async (workerId) => {
 
   const app = express();
 
-  app.set('trusted proxy', process.env.TRUSTED_PROXY_IP || 'loopback,uniquelocal');
+  app.set('trust proxy', process.env.TRUSTED_PROXY_IP ? process.env.TRUSTED_PROXY_IP.split(/(?:\s*,\s*|\s+)/) : 'loopback,uniquelocal');
 
   const pgPool = new pg.Pool(Object.assign(pgConfigs[env], dbUrlToConfig(process.env.DATABASE_URL)));
   const server = http.createServer(app);