linux配置https站点

配置https站点呢,那就需要https证书,证书从何而来,花钱买?no,no,no,阿里有免费的,只是比较难发现,下面就图文解说一下怎么买免费的阿里https证书

首先阿里云,登录,购买链接—————>CA证书服务(数据安全)

然后你需要,找到价格为0的https证书:

啥?你没找到?嗯哼?那一定是你找的方式不对,你应该~~~这么找:

1.选择品牌————>Symantec;

2.保护类型————>一个域名;

3.证书类型————>免费型DV SSL;

然后你就可以看到上面的页面了,是不是很奇葩的购买方式,这就和易筋经一样,有的时候你需要倒着看(选);

然后到我的证书界面:

然后点击这个补全,填写相关信息,提交审核。。。大概5min之后,就会审核通过了,然后你就可以像上图所示的第二个证书那样,下载了。

证书压缩文件夹里有两个文件,一个是*.pem,一个是*.key。(下载页面有教程,浅显易懂)

传到服务器上的 /etc/nginx/cert 目录下,最好改下这两个文件的名字,我这里是 域名.key、域名.pem。

然后接下来就是改站点的配置文件了,如果你还不会配置站点,请看这篇文章 linux上配置站点

server{
    listen 80;
    server_name aopo.************.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name aopo.************.com;
    ssl on;
    root /var/www/html/code/yii2/aopo/web;
    index index.php index.html index.htm ;
    client_body_temp_path /tmp;
    ssl_certificate   /etc/nginx/cert/aopo.**************.com.pem;
    ssl_certificate_key  /etc/nginx/cert/aopo.**************.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 / {
        try_files $uri $uri/ /index.php?$args;
    }        
    
    location ~ \.php$ {
        root      /var/www/html/code/yii2/aopo/web/;
        include fastcgi.conf;
        #fastcgi_pass   127.0.0.1:9000;
        fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
  
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        try_files $uri =404;
                fastcgi_index  index.php;
                include        fastcgi_params;
    }  
    
    location ~ /\.(ht|svn|git) {
        deny all;
    }   

   error_log   /var/log/nginx/my.error.log;
}

红字就是较之前http站点配置,新增的东西。改完配置之后,nginx -s reload;重启nginx,你会发现,你的网站可以通过 https://aopo.*******.com访问了

 

转载于:https://www.cnblogs.com/eco-just/p/8991111.html

### 配置Nginx以支持HTTPS 为了使Nginx能够在Linux环境中通过HTTPS提供服务,需执行几个关键操作。首先是获取SSL/TLS证书,这可以通过Let's Encrypt免费获得[^2]。 #### 获取SSL/TLS证书 使用Certbot自动化工具来申请来自Let's Encrypt的SSL证书是一个常见做法。对于不同的Linux发行版,具体命令可能有所不同: - **Ubuntu/Debian**: `sudo apt-get install certbot python3-certbot-nginx` - **CentOS/RHEL**: `sudo yum install epel-release; sudo yum install certbot python2-certbot-nginx` 接着运行`certbot --nginx -d your_domain.com -d www.your_domain.com`来自动获取并配置证书[^4]。 #### 修改Nginx配置文件 创建或编辑位于`/etc/nginx/conf.d/`下的自定义站点配置文件,通常命名为`yourdomain.conf`。在此文件中指定HTTP到HTTPS重定向以及SSL参数设置: ```nginx server { listen 80; server_name your_domain.com www.your_domain.com; location /.well-known/acme-challenge/ { root /var/www/certbot; } location / { return 301 https://$host$request_uri; } } server { listen 443 ssl http2; server_name your_domain.com www.your_domain.com; ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; include snippets/ssl-params.conf; location / { proxy_pass http://localhost:8080; 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; } } ``` 上述配置实现了从HTTP至HTTPS的强制跳转,并设置了必要的SSL选项和反向代理规则。 #### 测试与应用更改 保存修改后的配置文件后,应先测试其语法正确性: ```bash sudo nginx -t ``` 如果一切正常,则重新加载Nginx使其应用新的设置: ```bash sudo systemctl reload nginx ``` 最后一步是确保防火墙允许HTTPS流量。假设正在使用UFW作为防火墙管理器,在Ubuntu上可以这样开放端口: ```bash sudo ufw allow 'Nginx Full' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值