温馨提示×

centos环境下php如何配置SSL

小樊
42
2025-03-15 12:21:07
栏目: 云计算
亿速云SSL证书,防劫持篡改、防监听窃取、提升搜索排名 点击了解>>

在CentOS环境下为PHP配置SSL,通常涉及以下几个步骤:

  1. 获取SSL证书

    • 你可以从Let’s Encrypt免费获取SSL证书。
    • 使用Certbot工具来申请和安装证书。
  2. 安装Certbot

    • 使用以下命令安装Certbot:
      sudo yum install epel-release
      sudo yum install certbot
      
  3. 获取并安装SSL证书

    • 运行Certbot来获取证书:
      sudo certbot certonly --standalone -d yourdomain.com -d www.yourdomain.com
      
    • 按照提示完成证书的申请和安装。
  4. 配置Nginx或Apache

    • 如果你使用的是Nginx,编辑Nginx配置文件(通常位于/etc/nginx/conf.d/yourdomain.com.conf):
      server {
          listen 443 ssl;
          server_name yourdomain.com www.yourdomain.com;
      
          ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
          ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
          include /etc/letsencrypt/options-ssl-nginx.conf;
          ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
      
          location / {
              root /var/www/html;
              index index.php index.html index.htm;
          }
      
          location ~ \.php$ {
              fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
              fastcgi_index index.php;
              include fastcgi.conf;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              fastcgi_param PATH_INFO $fastcgi_path_info;
          }
      }
      
      server {
          listen 80;
          server_name yourdomain.com www.yourdomain.com;
      
          location /.well-known/acme-challenge/ {
              root /var/www/html;
          }
      
          location / {
              return 301 https://$host$request_uri;
          }
      }
      
    • 如果你使用的是Apache,编辑Apache配置文件(通常位于/etc/httpd/conf.d/yourdomain.com.conf):
      <VirtualHost *:443>
          ServerName yourdomain.com
          ServerAlias www.yourdomain.com
      
          SSLEngine on
          SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
          SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
          Include /etc/letsencrypt/options-ssl-apache.conf
          SSLCACertificateFile /etc/letsencrypt/ssl-dhparams.pem
      
          DocumentRoot /var/www/html
      
          <Directory /var/www/html>
              Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
          </Directory>
      
          <FilesMatch \.php$>
              SetHandler "proxy:fcgi://localhost:9000"
              ProxyPass / fcgi://localhost:9000/
              ProxyPassReverse / fcgi://localhost:9000/
          </FilesMatch>
      </VirtualHost>
      
      <VirtualHost *:80>
          ServerName yourdomain.com
          ServerAlias www.yourdomain.com
      
          Redirect permanent / https://yourdomain.com/
      </VirtualHost>
      
  5. 重启Nginx或Apache

    • 对于Nginx:
      sudo systemctl restart nginx
      
    • 对于Apache:
      sudo systemctl restart httpd
      
  6. 配置PHP-FPM(如果使用PHP-FPM):

    • 编辑PHP-FPM配置文件(通常位于/etc/php-fpm.d/www.conf),确保监听地址正确:
      listen = /var/run/php-fpm/php-fpm.sock
      
    • 重启PHP-FPM服务:
      sudo systemctl restart php-fpm
      

完成以上步骤后,你的CentOS环境下的PHP应用应该已经成功配置了SSL。你可以通过访问https://yourdomain.com来验证SSL证书是否正确安装和配置。

亿速云提供多种品牌、不同类型SSL证书签发服务,包含:域名型、企业型、企业型专业版、增强型以及增强型专业版,单域名SSL证书300元/年起。点击查看>>

推荐阅读:centos下php如何配置SSL

0