当前位置: 首页 > news >正文

CentOS7 配置Nginx域名HTTPS

Configuring Nginx with HTTPS on CentOS 7 involves similar steps to the ones for Ubuntu, but with some variations in package management and service control. Here’s a step-by-step guide for CentOS 7:

Prerequisites

  1. Domain Name: “www.xxx.com”
  2. Nginx Installed: Ensure Nginx is installed.
  3. Domain DNS: Domain should point to your server’s IP address.
  4. Root Privileges: You should have root or sudo privileges.
    在这里插入图片描述

Step-by-Step Guide

1. Install Nginx

If Nginx is not already installed, you can install it using the following commands:

sudo yum install epel-release
sudo yum install nginx

Start and enable Nginx to start on boot:

sudo systemctl start nginx
sudo systemctl enable nginx
2. Configure Firewall

Allow HTTPS traffic through your firewall:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
3. Obtain SSL Certificate

Install Certbot and the Nginx plugin:

sudo yum install certbot python2-certbot-nginx
4. Request SSL Certificate

Run Certbot to obtain and install the SSL certificate:

sudo certbot --nginx -d www.xxx.com

Follow the prompts to complete the process. Certbot will automatically configure Nginx to use the SSL certificate.

5. Verify Nginx Configuration

Open your Nginx configuration file to verify or manually configure the SSL settings:

sudo vim /etc/nginx/conf.d/www.xxx.com.conf

Ensure your server block looks like this:

server {listen 80;listen [::]:80;server_name www.xxx.com;return 301 https://$host$request_uri;
}server {listen 443 ssl;listen [::]:443 ssl;server_name www.xxx.com;ssl_certificate /etc/letsencrypt/live/www.xxx.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/www.xxx.com/privkey.pem;include /etc/letsencrypt/options-ssl-nginx.conf;ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;root /usr/share/nginx/html;index index.html index.htm;location / {try_files $uri $uri/ =404;}
}
6. Test Nginx Configuration

Test your configuration to ensure there are no syntax errors:

sudo nginx -t

If the test is successful, reload Nginx:

sudo systemctl reload nginx
7. Set Up Automatic Certificate Renewal

Let’s Encrypt certificates are valid for 90 days. Certbot can handle renewal automatically. To set up a cron job for automatic renewal, open the crontab editor:

sudo crontab -e

Add the following line to the crontab file:

0 0,12 * * * /usr/bin/certbot renew --quiet

This runs the renewal command twice daily.

Access Your Site

Now, you should be able to access your site securely at https://www.xxx.com.

Troubleshooting

If you encounter any issues, check the Nginx and Certbot logs for more information:

sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/letsencrypt/letsencrypt.log

This setup ensures that your website is served over HTTPS, providing security and trust to your visitors.

TXT record is a proof that the site is yours

http://www.lryc.cn/news/372765.html

相关文章:

  • C++入门8 构造函数析构函数顺序|拷贝构造
  • 【git使用四】git分支理解与操作(详解)
  • 【docker】如何解决artalk的跨域访问问题
  • MYSQL 索引下推 45讲
  • CentOS7服务器中安装openCV4.8的教程
  • Java课程设计:基于swing的贪吃蛇小游戏
  • 【HarmonyOS】HUAWEI DevEco Studio 下载地址汇总
  • 华为OD刷题C卷 - 每日刷题30(小明找位置,分隔均衡字符串)
  • SOFTS: 时间序列预测的最新模型以及Python使用示例
  • C++ 取近似值
  • 云原生系列之Docker常用命令
  • opencv_GUI
  • FlowUs轻量化AI:趁这波升级专业版,全年无限AI助力笔记产出与二次编写
  • Day 22:2786. 访问数组中的位置使分数最大
  • 理解Es的DSL语法(二):聚合
  • matlab-2-simulink-小白教程-如何绘制电路图进行电路仿真
  • CSS从入门到精通——背景样式
  • 网络编程---Java飞机大战联机
  • 一个简单的Oracle函数
  • word中根据上级设置下级编号
  • 【康复学习--LeetCode每日一题】2786. 访问数组中的位置使分数最大
  • bash和sh区别
  • Git 代码管理规范 !
  • MGRS坐标
  • FreeRTOS简单内核实现4 临界段
  • Scala的字符串插值
  • EasyGBS服务器和终端配置
  • git配置2-不同的代码托管平台配置不同的ssh key
  • 【CT】LeetCode手撕—102. 二叉树的层序遍历
  • Flink 命令行提交、展示和取消作业