1.必要条件
- ドメイン付きの公的に利用可能なSSL HTTPサーバ(例えばNGINXを通して) ssl.example.com
- /oauthSSL下で他のWebアプリを使用できるようにするために、HTTPコンテキストルートからプロキシへのHTTPサーバーを使用する
- oauthdから何も外部から入手できないことを確認してください(すなわちoauthdはループバックからのみアクセス可能です)。
- 最も簡単な設定
2.NginxをCentOS 7にインストール
3.Let's EncryptでNginxにSSLを設定
4.oauthdをNginxに連携させる
リンク先の通りにNginxとoauthdを連携させようとしてもうまくいかない。
以下のようにやると設定できた。
oauthdの設定ファイル
config.local.js
Note: 最初の設定はSSL設定を使用していません。別途対応をしていきます。
{
// ...
host_url: 'https://ssl.example.com',
base: "/",
base_api: "/api",
port: 6284,
bind: '127.0.0.1'
// ...
}
Under NGINX
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name ssl.example.com;
ssl on;
ssl_certificate /etc/ssl/mycert.pem;
ssl_certificate_key /etc/ssl/mycert.key;
location /{
proxy_pass http://127.0.0.1:6284;
}
}
5.起動シェルを作る
OAuthの起動シェルを作成する。
Nginxは、自動起動で起動時に立ち上がりますが、OAuthは起動しないので、シェルを作って対応する。
startup.sh
#!/bin/sh
cd /opt/oauthd
nohup oauthd start &
exit 0
一旦これで運用してみる。