RubyPressでSSL化したWordPressに投稿する際にHTTP-Error: 301 Moved Permanentlyとエラーが出る

Let’t EncryptでSSL化したWordPressのサイトにRubyPressで投稿したら、以下のエラーになった。

省略/vendor/bundle/ruby/2.4.0/gems/xmlrpc-0.3.0/lib/xmlrpc/client.rb:509:in `do_rpc': HTTP-Error: 301 Moved Permanently (RuntimeError)

301と言う事はリダイレクトされているっぽい。
SSL化したせいでリダイレクトされているとしたら、HTTPでアクセスしてHTTPSにリダイレクトされているのではと予想。

RubyPressのパラメータではホスト名しか渡してないから、SSLを使用するパラメータが有りそうとソースを見ると

def initialize(options = {})
  {
    :port => 80,
    :ssl_port => 443,
    :use_ssl => false,
    :host => nil,
    :path => '/xmlrpc.php',
    :username => nil,
    :password => nil,
    :default_post_fields => %w(post terms custom_fields),
    :debug => false,
    :http_user => nil,
    :http_password => nil,
    :retry_timeouts => false,
    :timeout => 30,
    :cookie => nil
  }.merge(options).each{ |opt| self.send("#{opt[0]}=", opt[1]) }
  self
end

と有り、「use_ssl」というドンピシャのパラメータがあった。

という訳で、これにtrueを設定して問題なく投稿出来るようになった。

コメント

タイトルとURLをコピーしました