配置文件如下。可进行单独设置
分为两个server块,
第一个是http的,第二个是HTTPS的。
如果不需要HTTPS就将第二个server块注释掉。
如果是要适配你自己的网站,需要更改如下内容
server_name:你的域名
ssl_certificate:证书后缀为crt文件路径
ssl_certificate_key:证书后缀为key文件路径
root:网站主页存在的位置,
如果你的主页不是如下几个文件名,请记得添加相应的主页文件名:
index index.php index.html index.htm index.nginx-debian.html;
open_basedir:注意需要修改到你正确的配置,也可以不用。
# 第一个 server 块,用于将 HTTP 请求重定向到 HTTPS
server {
listen 80 default_server; # 监听 HTTP 端口 80
listen [::]:80 default_server;
server_name www.XXXX.com.tw; # 你的域名
# Redirect HTTP to HTTPS
return 301 https://$host$request_uri; # 所有 HTTP 请求重定向到 HTTPS
}
# 第二个 server 块,启用 HTTPS,并设置 SSL 证书和密钥
server {
listen 443 ssl; # 监听 HTTPS 端口 443
listen [::]:443 ssl;
server_name www.XXXX.com.tw; # 你的域名
ssl_certificate /etc/nginx/ssl/your_domain.crt; # SSL 证书文件的路径
ssl_certificate_key /etc/nginx/ssl/your_domain.key; # SSL 证书密钥的路径
ssl_protocols TLSv1.2 TLSv1.3; # 支持的 SSL 协议版本
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384'; # SSL 加密套件
ssl_prefer_server_ciphers off; # 关闭优先使用服务器的加密套件
ssl_session_cache shared:SSL:10m; # 缓存 SSL 会话
ssl_session_tickets off; # 禁用 SSL 会话票据
root /www/wwwroot/www.XXXX.com/public; # 你的站点根目录
index index.php index.html index.htm index.nginx-debian.html; # 默认文档索引
# 处理站点根目录下的请求
location / {
try_files $uri $uri/ /index.php?$query_string; # 尝试找到文件,否则重定向到 index.php
}
# 处理特定的 /contact.php 请求
location = /contact.php {
try_files $uri $uri/ /index.php?$query_string; # 尝试找到文件,否则重定向到 index.php
}
# 处理 PHP 脚本请求
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 包含 FastCGI 配置
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/www/wwwroot/www.XXXX.com/:/tmp/"; # PHP 配置
fastcgi_pass unix:/tmp/php-cgi-82.sock; # 连接到 PHP-FPM
}
}