我有一台运行于127.0.0.1:8323
无法从外部访问此端口。
https://example.com/website/index.php
我想通过端口 80提供这个 IP 地址
我如何使用 nginx 来实现这个功能?
我曾尝试proxy_pass
在服务器中使用,例如:
server {
listen 80;
location website/ {
proxy_pass https://127.0.0.1:8323;
}
}
但它返回 404
答案1
- 如果你想为网站提供 TLS,它应该在端口 443 上,而不是 80(请参阅RFC 9110, 4.2.2)。
- localhost:8323 上的服务可能没有 TLS;在这种情况下您不应尝试使用 访问它
https://
。 - 这
location
定义为前缀字符串应该以 开头/
。
最低 TLS 配置如下:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/example.com.crt;
ssl_certificate_key /path/to/example.com.key;
location /website/ {
proxy_pass http://127.0.0.1:8323;
}
}