繁体   English   中英

Ruby:Sinatra:无法在Thin上访问Web服务

[英]Ruby: Sinatra: Webservice is not accessible on Thin

我在Thin Web服务器上的centOS中运行着ruby sinatra Web服务。 我无法使用210.71.253.59:3001/swap远程连接到它。 (它确实可以在localhost上运行),并且一切似乎都很好:

-bash-4.1$ ruby spotify_token_swap.rb 
== Sinatra/1.4.5 has taken the stage on 3001 for development with backup from Thin
Thin web server (v1.6.2 codename Doc Brown)
Maximum connections set to 1024
Listening on 210.71.253.59:3001, CTRL+C to stop

我已验证3001端口已打开。 (我看到过类似的文章Ruby Sinatra Webservice在localhost:4567上运行,但不在IP上运行 ,仍然无法解析)

对为什么有任何想法,或者我做错了什么? 这是我的.rb:

require 'rubygems'
require 'sinatra'
require 'net/http'
require 'net/https'

set :bind, '210.71.253.59'
set :port, 3001

post '/swap' do

    auth_code = params[:code]

    uri = URI.parse("https://ws.spotify.com")
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE

    request = Net::HTTP::Post.new("/oauth/token")
    request.form_data = {
        "grant_type" => "authorization_code",
        "client_id" => kClientId,
        "client_secret" => kClientSecret,
        "redirect_uri" => kClientCallbackURL,
        "code" => auth_code
    }

    response = http.request(request)

    status response.code.to_i
    return response.body

end

以防万一有人遇到相同的问题:

这非常简单...别忘了检查iptables ,以我为例 ,它阻止了传入连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM