为网站开启https

/ 默认分类 / 没有评论 / 105浏览

这里记录一下我开启这个博客https的过程。

步骤如下:

1 获取https证书: 我的网站是用的Let`s ERncrypt的证书,按照为你的Blog快速开启https支持这篇文章的方法使用Certbot进行开启即可。

2 安装Nginx,用nginx代理网站的443端口请求。 我的nginx配置如下: /etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

# Settings for a TLS enabled server.

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"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

    server {
        listen       80;
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  denganliang.com;
        #ssl on;
       if ($ssl_protocol = "") {
           rewrite ^   https://$server_name$request_uri? permanent;
       }

        ssl_certificate "/xxx/www.denganliang.com/fullchain1.pem";
        ssl_certificate_key "/xxx/www.denganliang.com/privkey1.pem";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers xxxx;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
             proxy_pass http://denganliang.com:8000;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

}

可以参照这个修改nginx的配置,注意是监听443端口和80,同时代理8000端口,这里8000是我博客程序的监听端口。另外 #ssl on; 这个一定要注释掉。

这份配置可以让http强制跳转https。

可以用 nginx -t -c /etc/nginx/nginx.conf 这个命令检查nginx配置是否正确。

3 在网站后台将网站主链接修改为https://denganliang.com