13,228
回編集
| 289行目: | 289行目: | ||
location = /50x.html { | location = /50x.html { | ||
root html; | root html; | ||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
==== httpsの使用 ==== | |||
自己証明書を作成する。<br> | |||
* 秘密鍵の作成(パスフレーズなし) | |||
*: ファイル名: server.key | |||
*: <code>openssl genrsa -out server.key 2048</code> | |||
*: <br> | |||
* 証明書署名要求(CSR: Certificate Signing Request)の作成 | |||
*: ファイル名: server.csr | |||
*: <code>openssl req -utf8 -new -key server.key -out server.csr</code> | |||
*: 以下に示す項目を入力する。 | |||
*: <br> | |||
*: Country Name (2 letter code) [XX]: <--- 国(日本ならJP) | |||
*: State or Province Name (full name) []: <--- 県 | |||
*: Locality Name (eg, city) [Default City]: <--- 市 | |||
*: Organization Name (eg, company) [Default Company Ltd]: <--- 会社・組織 | |||
*: Organizational Unit Name (eg, section) []: <--- 部門(未入力可) | |||
*: Common Name (eg, your name or your server's hostname) []:alfa.torutk.com <--- サーバードメイン名(未入力可) | |||
*: Email Address []: <--- 管理者メール(未入力可) | |||
*: | |||
*: Please enter the following 'extra' attributes to be sent with your certificate request | |||
*: A challenge password []: <-- (未入力可) | |||
*: An optional company name []: <-- (未入力可) | |||
*: <br> | |||
* ubject Alternative Name(SAN)情報の作成 | |||
*: ファイル名: san.txt | |||
*: まず、最近のWebブラウザでは、Subject Alternative Name(SAN)を含めないとアクセスができないため、SAN情報をテキストファイルに記述する。 | |||
*: また、ワイルドカードを使用して、複数のホスト名に対応させることもできる。 | |||
*: <code>vi san.txt</code> | |||
*: <br> | |||
*: <code># san.txtファイル</code> | |||
*: <code>subjectAltName = DNS:*.torutk.com</code> | |||
*: <br> | |||
* 自己署名証明書の作成 | |||
*: ファイル名: server.crt | |||
*: <code>openssl x509 -in server.csr -out server.crt -extfile san.txt -req -signkey server.key -days 3650</code> | |||
<br> | |||
上記で作成した秘密鍵と自己署名証明書を、任意の場所に配置する。<br> | |||
* server.key | |||
* server.crt | |||
<br> | |||
Nginx設定ファイルの作成または編集する。<br> | |||
vi nginx.conf | |||
<br> | |||
<syntaxhighlight lang="nginx"> | |||
# nginx.confファイル | |||
upstream unicorn { | |||
server unix:/<Redmineのインストールディレクトリ>/tmp/unicorn.sock; | |||
} | |||
server { | |||
listen 80 default_server; | |||
listen [::]:80 default_server; | |||
server_name _; | |||
return 301 https://$host$request_uri; | |||
} | |||
server { | |||
listen 443 ssl http2 default_server; | |||
listen [::]:443 ssl http2 default_server; | |||
server_name _; | |||
root /<Redmineのインストールディレクトリ>/public; | |||
ssl_certificate "<自己署名証明書ファイルのパス 例. /etc/pki/nginx/server.crt">; | |||
ssl_certificate_key "<秘密鍵ファイルのパス 例. /etc/pki/nginx/private/server.key">; | |||
ssl_session_cache shared:SSL:1m; | |||
ssl_session_timeout 10m; | |||
ssl_ciphers PROFILE=SYSTEM; | |||
ssl_prefer_server_ciphers on; | |||
include <Nginxの設定ファイル群があるディレクトリ 例. /etc/nginx/conf.d/*.conf>; | |||
client_max_body_size 10m; | |||
location / { | |||
try_files $uri/index.html $uri.html $uri @redmine; | |||
} | |||
location @redmine { | |||
proxy_redirect off; | |||
proxy_set_header X-Real-IP $remote_addr; | |||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |||
proxy_set_header Host $http_host; | |||
proxy_connect_timeout 60; | |||
proxy_read_timeout 60; | |||
proxy_send_timeout 600; | |||
proxy_pass http://redmine; | |||
} | |||
error_page 404 /404.html; | |||
location = /40x.html { | |||
} | |||
error_page 500 502 503 504 /50x.html; | |||
location = /50x.html { | |||
} | } | ||
} | } | ||