twn39 / code

:memo: 代码笔记,通过 issue 的方式记录日常遇到的问题和学习笔记
13 stars 1 forks source link

Nginx 配置HTTPS #144

Open twn39 opened 7 years ago

twn39 commented 7 years ago

安装certbot:

通过pip安装,yum安装会出现pyOpenSSL版本过低问题

pip install certbot

运行:

certbot certonly

选择webroot插件,根据提示输入对应信息

查看证书:

certbot certificates
twn39 commented 7 years ago

配置nginx

server {
    listen 443 ssl;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    root /var/www/html/gili/web;
    index index.php index.html index.htm;

    server_name www.example.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
twn39 commented 7 years ago

centos打开防火墙

sudo firewall-cmd --zone=public --add-service=https --permanent
twn39 commented 7 years ago

配置定时任务:

/etc/crontab

0 0 0 */2 0 root /usr/bin/certbot renew
twn39 commented 7 years ago

http重定向:

server {
    listen 80;
    return 301 https://$host$request_uri;
}
twn39 commented 7 years ago

https代理:

location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      # Fix the “It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://jenkins.domain.com;
    }