任何帮助将不胜感激。
我收到了来自letsencrypt的SSL证书,我正在尝试为我的服务器支持HTTP和HTTPS。证书很好,但是当我尝试使用https访问我的网站时,我得到了404。这是我的配置文件:
server {
server_name my.domain.org;
root /var/www/my.domain.org/htdocs;
index index.php index.html index.html;
server_name my.domain.org;
location / {
try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
server {
listen 443;
ssl on;
ssl_certificate /etc/letsencrypt/live/my.domain.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain.org/privkey.pem;
server_name my.domain.org;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root /var/www/my.domain.org/htdocs;
index index.php index.html index.html;
}
}
答案 0 :(得分:1)
https的配置与http没有区别。
因此,只需复制相同的http配置并添加ssl特定部分:
# https
server {
listen 443 ssl;
# for http2 support uncomment line bellow and comment line above
# listen 443 ssl http2;
ssl on;
ssl_certificate /etc/letsencrypt/live/my.domain.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain.org/privkey.pem;
server_name my.domain.org;
root /var/www/my.domain.org/htdocs;
index index.php index.html index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
#http
server {
listen 80;
root /var/www/my.domain.org/htdocs;
index index.php index.html index.html;
server_name my.domain.org;
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}