安裝 nginx 以後, 將 /etc/nginx/nginx.conf
修改爲:html
# extract Phoenix app upstream for better readability upstream myapp { server localhost:34567; } # hide server information http { server_tokens off; } # redirect all http requests to https # and also listen on IPv6 addresses server { listen 80 default_server; listen [::]:80 default_server; server_name myapp.com www.myapp.com; return 301 https://$server_name$request_uri; } # the main server directive for ssl connections # where we also use http2 (see asset delivery) server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name myapp.com www.myapp.com; # paths to certificate and key provided by Let's Encrypt ssl_certificate /etc/letsencrypt/live/myapp.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/myapp.com/privkey.pem; # SSL settings that currently offer good results in the SSL check # and have a reasonable backwards-compatibility, taken from # - https://cipherli.st/ # - https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; ssl_ecdh_curve secp384r1; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; # security enhancements add_header Strict-Transport-Security "max-age=63072000; includeSubdomains"; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; # Let's Encrypt keeps its files here location ~ /.well-known { root /var/www/html; allow all; } # besides referencing the extracted upstream this stays the same location / { 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_http_version 1.1; proxy_redirect off; proxy_pass http://myapp; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
保存後運行 sudo service nginx reload
便可.nginx
注意 nginx 會自動忽略帶有下劃線 _
的 http headers. 因此儘可能使用 X-My-Header
來定義 headers.bash