Method: Narou::AppServer.create_address

Defined in:
lib/web/appserver.rb

.create_address(user_port = nil) ⇒ Object

サーバのアドレスを生成

portは初回起動時にランダムで設定する。次回からは同じ設定を引き継ぐ。bindは自分で設定する場合は narou s server-bind=address で行う。bindは設定しなかった場合は起動したPCのプライベートIPアドレスが設定される。この場合はLAN内からアクセス出来る。bindがlocalhostの場合は実際には127.0.0.1で処理される。(起動したPCでしかアクセス出来ない) 0.0.0.0 を指定した場合はアクセスに制限がかからない(外部からアクセス可能)セキュリティ上オススメ出来ない。



165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/web/appserver.rb', line 165

def self.create_address(user_port = nil)
  global_setting = Inventory.load("global_setting", :global)
  port, bind = global_setting["server-port"], global_setting["server-bind"]
  port = user_port if user_port
  ipaddress = my_ipaddress
  unless port
    port = rand(4000..65000)
    global_setting["server-port"] = port
    global_setting.save
  end
  bind = "127.0.0.1" if bind == "localhost"
  host = bind ? bind : ipaddress
  set :port, port
  set :bind, host
  {
    host: host,
    port: port
  }
end