CentOS6.5 + nginx1.9.9 + StartSSL でhttp2をつかう
とりあえず動かすところまでやってみる。
環境
KagoyaVPS Centos6.5 64bit minimal
- iptablesをてきとうに
# /etc/sysconfig/iptables *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT -A OUTPUT -p tcp --dport 53 -j ACCEPT -A OUTPUT -p udp --dport 53 -j ACCEPT ##### HTTP ##### -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ##### SSH #### -A INPUT -p tcp --dport 2753 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT # /etc/sshd/sshd_config Port 2573 /etc/init.d/sshd restart
- ドメイン用意 一番安いやつをゲット
仮に、 hogefuga.info
を使うものとする
- 必要そうなライブラリを入れる
yum groupinstall -y "Development Tools" yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel
- nginxインストール
cd /usr/local/src # 2015/12/13 0:09時点の最新版 curl -O http://nginx.org/download/nginx-1.9.9.tar.gz tar zxvf nginx-1.9.9.tar.gz cd nginx-1.9.9 mkdir /var/cache/nginx # # --with-http_v2_moduleは必須。それ以外はいい感じに ./configure --user=nginx --group=nginx --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --with-http_ssl_module --with-mail --with-http_stub_status_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --without-http_userid_module make make install
起動できるのチェック
useradd -s /sbin/nologin nginx passwd nginx nginx -v nginx
http://hogefuga.info/
へアクセスし、以下のとおり表示できることを確認
証明書取得 以下のとおりにやれば、無料のStartSSLの証明書が取得できる。 qiita.com
/etc/nginx/cert
に配置するものとする。証明書の設置
# StartSSLにて取得したkeyとcrtを保存 ll /etc/nginx/cert hogefuga.info.key hogefuga.info.crt wget https://www.startssl.com/certs/sub.class1.server.ca.pem wget https://www.startssl.com/certs/ca.pem # nginxは中間CA指定できないので、まとめる cat sub.class1.server.ca.pem >> hogefuga.info.crt # 鍵からパスフレーズを外す openssl rsa -in hogefuga.info.key -out hogefuga.info.key # nginxユーザで動かしてるのオーナー・権限を設定 chown nginx: /etc/nginx/cert/* chmod 400 /etc/nginx/cert/*
- nginx設定 とりあえず最小限
worker_processes 1; events { worker_connections 1024; } http { include /etc/nginx/mime.types.default; server { server_name hogefuga.info; root /var/www; listen 443 ssl http2; ssl_prefer_server_ciphers on; ssl_ciphers AESGCM:HIGH:!aNULL:!MD5; ssl on; ssl_certificate /etc/nginx/cert/hogefuga.info.crt; ssl_certificate_key /etc/nginx/cert/hogefuga.info.key; ssl_session_timeout 5m; ssl_protocols TLSv1.2; location / { root html; index index.html index.htm; } } }
- nginx reload
nginx -s reload
- http2確認のためchrome extensionを入れる
ブラウザでアクセスしいなずまマークがでてればOK!
次はnginx_mrubyをためそう
(追記) やりました