我的需求是:
现在我解决了,http 和 https 共存,且可以通过 http 访问指定 URL,但是当 https 访问时会 404
我的配置文件如下:
# sudo certbot certonly --webroot -w /usr/share/nginx/html/ -d hzzone.io
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
server {
listen 80;
listen 443 ssl;
# 域名,实际情况下时,将这个改成域名
server_name hzzone.io;
ssl on;
# 证书位置
ssl_certificate /etc/letsencrypt/live/hzzone.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hzzone.io/privkey.pem;
location /api {
proxy_pass http://localhost:1111/api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass https://localhost;
}
}
}
为什么当我使用 http 访问 域名 /api/子目录
时,是正常的,而 https 却 404 呢?我看了 access log,根本没有转发。
请问是什么原因导致的这个问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.