linux 使用nginx绑定https 以及域名

第一步
肯定是需要安装nginx(使用linux apt-get安装)

apt-get install nginx

第二步
使用https 就需要证书 一般申请腾讯云上的免费证书就ok
然后把相关文件放到 /etc/nginx/cert 下

第三步
开始配置https以及绑定域名

为了方便管理不同的域名
一般在sites-available下通过不同的域名建文件

1,建立一个默认的文件 default

#access_log  /var/log/nginx/log/host.access.log  main;                                 
                                                                                       
location / {                                                                           
    proxy_pass  http://127.0.0.1:3300;                                           
    client_max_body_size 15m;                                                           
    client_body_buffer_size 1024k;                                                      
    proxy_http_version 1.1;                                                             
    proxy_set_header Connection "";                                                     
    proxy_set_header      X-Real-IP $remote_addr;                                       
    proxy_set_header      Host $host;                                                   
    proxy_read_timeout 3600s;                                                           
}                                                                                       
                                                                                        
# location / {                                                                           
#    root   /usr/share/nginx/html;                                                      
 #   index  index.html index.htm;                                                       
#}                                                                                      
                                                                                        
#error_page  404              /404.html;                                                
                                                                                        
# redirect server error pages to the static page /50x.html                              
#                                                                                       
error_page   500 502 503 504  /50x.html;                                                
location = /50x.html {                                                                  
    root   /usr/share/nginx/html;                                                       
}                                                                                       
                                                                                        
# proxy the PHP scripts to Apache listening on 127.0.0.1:80                             
}                                                                                          
upstream tube_prod {                                                                       
    server 127.0.0.1:3300;                                                                 
    keepalive 30;                                                                          
}      

2, 通过域名创建一个文件 例:xxx.xxx.com等()

  server {                                                                                   
    listen 80;                                                                    
    server_name xxx.xxx.com;           //想要绑定的域名                                          
    return 301 https://$server_name$request_uri;                                       
}                                                                                          
                                                                                       
 server {                                                                                   
    listen 444;                                                                           
    ssl on;
    ssl_certificate /etc/nginx/cert/1_xxx.xxx.com_bundle.crt;   //绑定https 证书               
    ssl_certificate_key /etc/nginx/cert/2_xxx.xxx.com.key;        //绑定https证书             
    server_name xxx.xxx.com;                                                        

    client_max_body_size 4m;                                                           
    location / {                                                                       
            proxy_pass  http://127.0.0.1:3300;                                                           
                                                                                       
            proxy_http_version 1.1;                                                    
            client_max_body_size 15m;                                                  
            client_body_buffer_size 1024k;                                             
            proxy_set_header Connection "";                                            
            proxy_set_header      X-Real-IP $remote_addr;                              
            proxy_set_header      Host $host;                                                            
            proxy_read_timeout 3600s;                                                                    
    }                                                                                                    
                                                                                                         
    #location / {                                                                                        
                                                                                                         
     #       root   /usr/share/nginx/html;                                                               
                                                                                                         
      #      index  index.html index.htm;     

                                                                                                                                
    #}                                                                                                   
                                                                                       
}                                                                                          


server {                //http自动跳转https                           
    listen 80;                                                                         
    server_name  localhost;                                                   
    rewrite ^(.*)$  https://$host$1 permanent;                                                           
                                                                                       
    client_max_body_size 4m;                                                           
    location / {                                                                       
            proxy_pass  http://127.0.0.1:3300;                                                           
                                                                                       
            proxy_http_version 1.1;                                                    
            client_max_body_size 15m;                                                  
            client_body_buffer_size 1024k;                                              
            proxy_set_header Connection "";                                            
            proxy_set_header      X-Real-IP $remote_addr;                              
            proxy_set_header      Host $host;                                          
            proxy_read_timeout 3600s;                                                  
    }                                                                                  
}                                            

因项目原因 只需要一个绑定一个域名,default可有可无。
第一次摸服务器的东西,不喜勿喷,希望能给需要的人提供参考

你可能感兴趣的:(linux 使用nginx绑定https 以及域名)