我正在尝试通过安全 nginx 重定向 Web 服务fossil-scm。但我不知道正确的设置是什么以及如何检查错误日志。
我希望通过这个设置我可以使用
https://test.example.com/fossil/a/b/c
代替
http://test.example.com:8888/a/b/c
错误消息显示“未找到页面”。
这是我的 nginx 设置文件。
upstream fossil_server {
server localhost:8888 fail_timeout=0
}
server {
listen 80;
server_name test.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 default ssl;
server_name test.example.com;
ssl_certificate /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.key;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
location / {
...
}
location ^~ /fossil/ {
proxy_pass http://fossil_server;
}
}
答案1
您当前的配置正在映射https://test.example.com/fossil/a/b/c
到上游/fossil/a/b/c
。为了去掉前导,/fossil
您需要添加尾随/
。尝试:
location ^~ /fossil/ {
proxy_pass http://fossil_server/;
}
看这个文件了解详情。