wordpress设置ssl证书,http跳转https

wordpress

直接上nginx配置:

server {
  # 监听80端口,用于HTTP请求  
  listen 80;  
  # 监听IPv6的80端口  
  listen [::]:80;  
  # 监听443端口,用于HTTPS请求,并启用http2协议  
  listen 443 ssl http2;  
  # 监听IPv6的443端口,用于HTTPS请求,并启用http2协议  
  listen [::]:443 ssl http2;  
  # 设置服务器的主机名  
  server_name host_name.www.www;  
  
  # SSL证书配置  
  ssl_certificate /usr/local/nginx/conf/ssl/host_name.www.www.pem; # SSL证书路径  
  ssl_certificate_key /usr/local/nginx/conf/ssl/host_name.www.www.key; # SSL证书密钥路径  
  # 允许使用的SSL协议版本  
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;  
  # 使用的加密套件  
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;  
  # 优先使用服务器端的加密套件  
  ssl_prefer_server_ciphers on;  
  # SSL会话超时时间  
  ssl_session_timeout 10m;  
  # SSL会话缓存设置  
  ssl_session_cache builtin:1000 shared:SSL:10m;  
  # SSL缓冲区大小  
  ssl_buffer_size 1400;  
  # 添加HTTP响应头,强制使用HTTPS  
  add_header Strict-Transport-Security max-age=15768000;  
  # 开启OCSP stapling,加速SSL握手过程  
  ssl_stapling on;  
  # 验证OCSP响应的有效性  
  ssl_stapling_verify on;  
  # 如果请求不是通过HTTPS协议,则重定向到HTTPS  
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }  
  
  # 访问日志配置  
  access_log /data/wwwlogs/host_name.www.www_nginx.log combined;  
  # 默认索引文件  
  index index.html index.htm index.php;  
  # 网页根目录  
  root /htmlroot;  
  
  # 错误页面配置(当前已注释)  
  # error_page 404 /404.html;  
  # error_page 502 /502.html;  
  
  # 针对特定文件类型的访问限制  
  location ~ \.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {  
    if ($host !~ ^(nbfuli\.cn|shop\.nbfuli\.cn)$) {  
      return 403; # 如果主机名不匹配,则返回403禁止访问  
    }  
  }  
  
  # PHP处理配置  
  location ~ [^/]\.php(/|$) {  
    # fastcgi_pass remote_php_ip:9000; # 注释掉的PHP FastCGI服务器地址配置  
    fastcgi_pass unix:/dev/shm/php81-cgi.sock; # PHP FastCGI服务器地址配置  
    # fastcgi_pass unix:/dev/shm/php-cgi.sock; # 注释掉的另一个PHP FastCGI服务器地址配置  
    fastcgi_index index.php; # PHP默认索引文件  
    include fastcgi.conf; # 引入PHP FastCGI配置  
  }  
  
  # 图片类文件缓存配置  
  location ~ \.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {  
    expires 30d; # 设置30天的缓存有效期  
    access_log off; # 关闭访问日志  
  }  
  
  # 脚本类文件缓存配置  
  location ~ \.(js|css)?$ {  
    expires 7d; # 设置7天缓存
    access_log off;
  }

# 禁用特定文件的访问  
  location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {  
    deny all; # 禁止所有访问  
  }  
  
  # 允许访问well-known目录  
  location /.well-known {  
    allow all; # 允许所有访问  
  }  
  
  # 默认请求处理  
  location / {  
    try_files $uri $uri/ /index.php?$args; # 尝试按顺序返回请求的文件、目录或重定向到index.php  
  }  
  
  # WordPress重定向规则  
  rewrite /wp-admin$ $scheme://$host$uri/ permanent; # 将/wp-admin重定向到带有结尾斜杠的URL  
  
  # 禁止访问WordPress内容目录中的PHP文件  
  location ~* ^/wp-content/uploads/.*\.php$ {  
    deny all; # 禁止所有访问  
  }  
}

配置说明:

server 块定义了一个Nginx服务器实例的配置。
listen 指令指定了服务器监听的IP地址和端口号,以及是否启用HTTP/2协议。
server_name 指令设置了服务器的主机名,用于匹配HTTP请求头中的Host字段。
SSL证书和加密配置通过ssl_certificate、ssl_certificate_key、ssl_protocols、ssl_ciphers等指令进行设置,以确保HTTPS连接的安全性。
access_log 指令指定了访问日志的存储位置和格式。
index 指令定义了默认的索引文件列表,当请求指向目录时,服务器会尝试返回这些文件中的一个。
root 指令设置了网页文件的根目录。
location 块用于匹配特定的URL模式,并定义如何处理这些请求。不同的location块可以处理不同类型的请求,例如静态文件、PHP脚本等。
try_files 指令在location /块中用于指定当请求指定的文件或目录不存在时,应该尝试的其他URL。
rewrite 指令用于重写请求的URL,将其重定向到另一个URL。
deny 指令用于拒绝对特定文件或目录的访问。
fastcgi_pass 和 include fastcgi.conf 指令用于将PHP请求传递给FastCGI进程管理器(如PHP-FPM)处理。
expires 指令用于设置缓存有效期,控制浏览器和代理服务器缓存静态资源的时间。
add_header 指令用于添加或修改HTTP响应头。
这个Nginx配置涵盖了基本的Web服务器功能,包括SSL加密、错误页面处理、文件缓存、PHP处理、URL重写等。它适用于托管静态网站和动态网站(如使用WordPress搭建的网站)的场景。请确保在实际部署之前,根据你的具体需求和环境调整配置参数。

所有用户都可以去薅羊毛,192元充值200元话费!先到先得!导航栏话费充值,正规可靠,快充慢充自由选择。
欧阳逸资源站 » wordpress设置ssl证书,http跳转https

发表评论