Nginx如何配置http强制跳转https

1.具体方法是采用rewrite方式,在nginx的配置文件前添加80端口的强制跳转:
server{
         listen 80;
         server_name test.orcy.net;   
         #http强制跳转https
         rewrite ^(.*)$  https://$host$1 permanent;
}
2.完整的配置文件如下:
server{
        listen 80;
        server_name test.orcy.net;
        #http强制跳转https
        rewrite ^(.*)$  https://$host$1 permanent;
}
server {
        listen       443 ssl;
        server_name  test.orcy.net;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        access_log  logs/test.orcy.net-ssl.log  main;
        error_log  logs/test.orcy.net-ssl.error.log;    
        location / {
            root   /srv/www/html;
            index  index.php index.html index.htm;
        }
        ssl_certificate cert/XXXX.pem;   #将domain name.pem替换成您证书的文件名
        ssl_certificate_key cert/XXXX.key;   #将domain name.key替换成您证书的密钥文件名
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置
        ssl_prefer_server_ciphers on;   
        location ~ \.php$ {
            root    /srv/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        error_page  404              /404.html;
        location = /404.html {
            root   html;
        }
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    } 
3.如果是非默认80/443端口的http强制跳转https该如何设置呢?