nginx

nginx 설치

# centos 7
sudo amazon-linux-extras install nginx1.12
sudo systemctl start nginx
# centos 6
sudo yum install nginx -y
sudo service nginx start
curl -i http://localhost
sudo chmod 644 /var/log/nginx
sudo chown -R ec2-user:ec2-user /usr/share/nginx/html
echo "<h1>Hello World</h1>" > /usr/share/nginx/html/hello.html

자동 시작

sudo chkconfig nginx on

설정

Reverse Proxy

    location / {
        sendfile off;
        proxy_pass         http://127.0.0.1:3000;
        proxy_redirect     default;
        proxy_http_version 1.1;
        proxy_set_header   Host              $host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
        proxy_max_temp_file_size 0;
    }

client ip forward to WAS

        proxy_set_header        X-Real-Ip       $remote_addr;
        proxy_set_header        X-Fowarded-For  $remote_addr;

gzip

http {
...
    keepalive_timeout  65;

    gzip  on;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
...
}

max file upload

client_max_body_size 200M;

http to https

server {
    # ...
    if ($http_x_forwarded_proto = 'http') {
        return 307 https://$host$request_uri;
    }

http to https without www.

server {
    listen         80;
    server_name    okdevtest.net www.okdevtest.net;
    return         307 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name www.okdevtest.net okdevtest.net;

    if ($host = 'www.okdevtest.net' ) {
        rewrite  ^/(.*)$  http://okdevtest.net/$1  permanent;
    }

관련

참고

What Else?