欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > CentOS7 配置Nginx域名HTTPS

CentOS7 配置Nginx域名HTTPS

2024/10/25 8:28:25 来源:https://blog.csdn.net/fareast_mzh/article/details/139558737  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com