Как отключить "не удается отобразить консоль из..." на рельсах
Я использую Ubuntu / vagrant в качестве среды разработки. Я получаю эти сообщения на консоли rails:
Started GET "/assets/home-fcec5b5a277ac7c20cc9f45a209a3bcd.js?body=1" for 10.0.2.2 at 2015-04-02 15:48:31 +0000
Cannot render console from 10.0.2.2! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
можно ли отключить эти "не может оказать..."сообщения или разрешить их в любом случае?
7 ответов:
вам нужно внести в белый список сетевое пространство 10.0.2.2 в конфигурации веб-консоли.
Так что вы хотите, что-то вроде этого:
class Application < Rails::Application config.web_console.whitelisted_ips = '10.0.2.2' end
читать здесь для получения дополнительной информации.
как указал by pguardiario, это хочет войти в
config/environments/development.rb
, а неconfig/application.rb
поэтому он применяется только в среде разработки.
вы можете белый список отдельных IP-адресов или целых сетей.
скажем, вы хотите поделиться своей консоли с
192.168.0.100
. Вы можете сделать это:class Application < Rails::Application config.web_console.whitelisted_ips = '192.168.0.100' end
если вы хотите, чтобы белый список всей частной сети, вы можете сделать:
class Application < Rails::Application config.web_console.whitelisted_ips = '192.168.0.0/16' end
если вы больше не хотите видеть это сообщение, установите для этого параметра значение false:
class Application < Rails::Application config.web_console.whiny_requests = false end
будьте осторожны, что вы хотите, потому что вы можете просто получить все это
это наверное только для целей развития, так что вы можете предпочитаю разместить его под
config/environments/development.rb
вместоconfig/application.rb
.
жесткое кодирование IP в конфигурационный файл не очень хорошо. А как насчет других разработчиков? Что делать, если IP меняется?
конфигурация, связанная с Докером, не должна просачиваться в приложение rails, когда это возможно. Вот почему вы должны использовать переменные окружения в
config/environments/development.rb
file:class Application < Rails::Application # Check if we use Docker to allow docker ip through web-console if ENV['DOCKERIZED'] == 'true' config.web_console.whitelisted_ips = ENV['DOCKER_HOST_IP'] end end
вы должны установить правильный env vars в
.env
файл, не отслеживается в системе управления версиями.на
docker-compose.yml
вы можете ввести env vars из этого файла с помощьюenv_file
:app: build: . ports: - "3000:3000" volumes: - .:/app links: - db environment: - DOCKERIZED=true env_file: - ".env"
автоматическое обнаружение в вашей
config/development.rb
config.web_console.whitelisted_ips = Socket.ip_address_list.reduce([]) do |res, addrinfo| addrinfo.ipv4? ? res << IPAddr.new(addrinfo.ip_address).mask(24) : res end
конечно, может потребоваться добавить
require 'socket' require 'ipaddr'
в свой файл.
любой в любой из моих частных сетей приветствуется.
Я запускаю в контейнере docker, и мне все равно, какую сеть он хочет использовать на этой неделе.
config / environments / development.РБ добавить строку
config.web_console.whitelisted_ips = ['10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16']
для среды разработки: определить, если это докер, а затем определить IP-адрес и белый список его
# config/environments/development.rb require 'socket' require 'ipaddr' Rails.application.configure do ... # When inside a docker container if File.file?('/.dockerenv') # Whitelist docker ip for web console # Cannot render console from 172.27.0.1! Allowed networks: 127.0.0.1 Socket.ip_address_list.each do |addrinfo| next unless addrinfo.ipv4? next if addrinfo.ip_address == "127.0.0.1" # Already whitelisted ip = IPAddr.new(addrinfo.ip_address).mask(24) Logger.new(STDOUT).info "Adding #{ip.inspect} to config.web_console.whitelisted_ips" config.web_console.whitelisted_ips << ip end end end
для меня это печатает следующее и предупреждение уходит
Adding 172.27.0.0 to config.web_console.whitelisted_ips Adding 172.18.0.0 to config.web_console.whitelisted_ips
мое решение было совместить
- ответ от пользователя 2481743️ https://stackoverflow.com/a/42142563/2037928
- комментарий от jottr ️ как отключить " не удается отобразить консоль..." на Рельсы