我有一个运行多个vhost的nginx服务器,我已经配置了一个vhost并尝试将其设为https,但是当我尝试访问它时重定向到默认页面。我已经使用letsencrypt配置了SSL证书。
我的配置文件是
server {
listen 443 ssl;
root /var/www/html;
server_name abc.xyz.com;
include includes/letsencrypt;
location / {
proxy_pass http://abc;
include includes/proxy-config;
}
}
我也试过下面的配置
server {
listen 80;
server_name abc.xyz.com;
return 301 https://abc.xyz.com$request_uri;
}
server {
listen 443 ssl;
server_name abc.xyz.com;
ssl on;
include includes/letsencrypt;
access_log /var/log/nginx/log/abc.access.log;
error_log /var/log/nginx/log/abc.error.log;
location /.well-known/acme-challenge {
root /var/www/letsencrypt;
}
location / {
proxy_pass http://abc;
}
}
此页面重定向到我的防火墙后。 港口443也开放了。
任何想法在这里有什么问题?
答案 0 :(得分:1)
我通过在防火墙中添加NAT规则来确定这一点。 以上配置基本没什么问题。 我只在防火墙上打开了端口。
因为开放端口就在Internet和防火墙之间 NAT重定向来自public-ip的流量:443 - >本地IP:443
答案 1 :(得分:0)
我也有这个问题,但对我来说,解决方案最终是在php-fpm配置文件的问题中找到的。创建/访问php-fpm的错误日志时出现问题,我在php-fpm的配置文件中自己开启了以前认为这是一件好事。再次关闭它,重新启动php-fpm和nginx使一切按预期工作。
以防万一你像我一样在谷歌上搜索,并一直在顶部找到这个问题; - )