原 Ubantu14.0+Django2.2+nginx+uWSGI+阿里云ESC搭建个人网站实践(四)——nginx配置HTTPS

声明:本人使用阿里云ECS 直接在平台下载的ca证书

一、申请证书

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
证书申请完毕下载即可(for nginx)

二、在nginx上进行配置

1.下载的证书会有两个文件:
在这里插入图片描述
新建cert文件夹,复制进去;
2.将cert文件夹上传到服务器配置文夹 /etc/nginx/
在这里插入图片描述
3.修改配置文件/etc/nginx/nginx.conf
配置样例如下:

user www www;
worker_processes 1; #设置值和CPU核心数一致
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别
pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
  use epoll;
  worker_connections 65535;
}
http
{
  include mime.types;
  default_type application/octet-stream;
  log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
  
#charset gb2312;
     
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
     
  sendfile on;
  tcp_nopush on;
  keepalive_timeout 60;
  tcp_nodelay on;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;
  gzip on; 
  gzip_min_length 1k;
  gzip_buffers 4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
 
  #limit_zone crawler $binary_remote_addr 10m;
  #HTTPS
  server {
    listen 443;
    server_name www.aicheteach.com; // 域名
    ssl on;
    root /var/www/www.aicheteach.com;// 前台文件存放文件夹,自定义
    index index.html index.htm;// 上述文件夹里面的index.html
    ssl_certificate  cert/1916207_www.aicheteach.com.pem;// 你的证书的名字
    ssl_certificate_key cert/1916207_www.aicheteach.com.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 / {
        index index.html index.htm;
    }
}
#http
 server
  {
    listen 80;
    server_name www.aicheteach.com;//填写个人域名
	rewrite ^(.*)$ https://$host$1 permanent;//// 把http的域名请求转成https
  }

}

***其中测试index.html(/var/www/www.aicheteach.com/
在这里插入图片描述
4.nginx测试运行
在这里插入图片描述5.公网访问
在这里插入图片描述
测试成功。
备注:
(1)配置文件nginx.conf 里面的文件要有,路径要对,nginx启动时可能还会出现端口占用无法启动,fuser -n tcp 80 找出杀掉即可启动。

(2)配置https后出现(证书对应一个域名):
在这里插入图片描述
(3)自己手动配置https,不用交费

猜你喜欢

转载自blog.csdn.net/qq_38627475/article/details/89635131