Help us understand the problem. What is going on with this article?

Jenkins + Apache で HTTPS対応したのに400-BadRequestになった

More than 3 years have passed since last update.

今更感の出尽くした感のある記事ですが、
意外にもググっても直接的な記事が出なかったので書いてみました。

なにコレ

トラブルシュートの事例です。
Jenkins + Apache を使ってSSL化したのに、とあるリンクを踏むと http にリクエストを投げていて400エラーが発生した事例です。

環境

・Jenkinsを 1090(HTTP)ポートで起動している
・Apacheを 1081(HTTPS)ポート HTTP1080(HTTP)ポートで起動している
※1080は1081にリダイレクトしているだけなので今回の話には出てきません。

状況

上記設定の時に、
Jenkinsの管理 > システムの設定 > Jenkins URL の項目を https のURLに直して保存ボタンを押した所、

Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

が出てしまった。
戻るボタンで戻って、再度システムの設定にアクセスするとちゃんとJenkins URLは保存されている。
にもかかわらず、保存ボタンを押したら上記エラーになった。(それ以外にも設定のリロードやジョブの設定の保存でも同じくエラーになった。)

調査

調べてみると、 保存 を押した時に呼び出しているURLが既に http だった。
つまり、
https://user_server:1081/ で作業していたのに、保存を押すと
http://user_server:1081/ にリクエストを投げてしまっていたので400エラーが出ていた。

原因

原因はこれ

同じ方法で

ProxyRequests Off
Header edit Location ^http https
ProxyPass / http://localhost:1090/

と記載する事で、事なきを得るに至った。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away