2016年11月16日 星期三

ssl憑證nginx 設定

首先建一個目錄
sudo mkdir /etc/nginx/ssl

進入目錄
cd /etc/nginx/ssl

產生 myserver.key和 server.csr

sudo openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr

產生後上傳到有簽發ssl憑證的域名商

上傳後等待域名商安全憑證簽發
簽發後下載 xxx.pem 和 yyy.crt 到 /etc/nginx/ssl

xxx 或 yyy名稱可以看自己喜歡取名, 只要記得設定 nginx時名稱路徑要對上

然後設定 nginx

sudo vi /etc/nginx/sites-enabled/nginxsetupfile

server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6
    rewrite ^(.*) https://$host$1 permanent;
}
    
server {

    listen 443 ssl;
    server_name cclin.xyz;

    access_log /var/log/nginx/mysite-access.log ;
    error_log /var/log/nginx/mysite-error.log ;
    
    location /static {
        alias /home/for/static/path/static;
    }

    location / {
            uwsgi_pass 127.0.0.1:8630;
            include uwsgi_params;
    }

    ssl on;
    ssl_certificate /etc/nginx/ssl/yyy.crt;
    ssl_certificate_key /etc/nginx/ssl/myserver.key;
    
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;


}

設定完成後記得 重啟 nginx  請看之前一般http的設定

sudo service nginx restart

和 uwsgi 







還有問了一下域名商









2016年11月11日 星期五

javascript regex

regex這東西不常用, 每次用都要google老半天.
這次是因為輸入的文字會變成url slug, 所以必須使javascript做出如果是非文字都不能輸入(包括標點或空格)

<h1>Create a Thing</h1>
<form role="form" action="" method="post" enctype="multipart/form-data">
<input type='hidden' name='csrfmiddlewaretoken' value='CiTMjJgFuTMRatFsQRBUT6z8JuyRhe2g' />
<p><label for="id_name">Name:</label> <input id="id_name" maxlength="255" name="name" type="text" /></p>
<p><label for="id_image">Image:</label> <input id="id_image" name="image" type="file" /></p>
<p><label for="id_description">Description:</label> <textarea cols="40" id="id_description" name="description" rows="10">
</textarea></p>
 <input type="submit"  value="Submit" />
</form>
<script>
function fixInput(event) {
  var rx = /[!-#%-*,-/\:;$?=?˙ˋˇˊ=·、‘’@\[-\]_\{\} ]+/gi;
  event.target.value = event.target.value.replace(rx, '');
}
document.getElementById('id_name').addEventListener('keyup',  fixInput);
document.getElementById('id_name').addEventListener('change',  fixInput);
</script>


以上是要判斷input id="id_name" 裡只能有文字(不能有標點和空格及其它符號)


參考