我有一个家庭服务器,可以通过静态 IP 和端口从外部访问http://<homeip>:10001
。这是一个 Lighttpd 服务器。
我还有一个网站https://example.com使用 Apache,我创建了一条重写规则来执行以下操作:
https://example.com/nas ---> http://<homeip>:10001
.htaccess,看看我使用了 P 选项,这样 URL 就不会改变:
RewriteEngine on
RewriteRule ^nas$ http://<homeip>:10001 [P,L]
但如果我指向https://example.com/nas
,我会看到“服务暂时不可用”错误。
Apache 服务器日志显示:
Connection refused: proxy: HTTP: attempt to connect to <homeip>:10001 (*) failed
这是我的家庭服务器配置(/etc/lighttpd/lighttpd.conf
):
server.modules = (
"mod_indexfile",
"mod_setenv",
"mod_access",
"mod_alias",
"mod_redirect",
"mod_accesslog",
)
accesslog.filename = "/var/log/lighttpd/access.log"
server.document-root = "/var/www"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80
# strict parsing and normalization of URL for consistency and security
# https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_http-parseoptsDetails
# (might need to explicitly set "url-path-2f-decode" = "disable"
# if a specific application is encoding URLs inside url-path)
server.http-parseopts = (
"header-strict" => "enable",# default
"host-strict" => "enable",# default
"host-normalize" => "enable",# default
"url-normalize-unreserved"=> "enable",# recommended highly
"url-normalize-required" => "enable",# recommended
"url-ctrls-reject" => "enable",# recommended
"url-path-2f-decode" => "enable",# recommended highly (unless breaks app)
#"url-path-2f-reject" => "enable",
"url-path-dotseg-remove" => "enable",# recommended highly (unless breaks app)
#"url-path-dotseg-reject" => "enable",
#"url-query-20-plus" => "enable",# consistency in query string
)
index-file.names = ( "index.php", "index.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.conf.pl"
include "/etc/lighttpd/conf-enabled/*.conf"
#server.compat-module-load = "disable"
server.modules += (
"mod_compress",
"mod_dirlisting",
"mod_staticfile",
)
$SERVER["socket"] == ":10001" {
server.document-root = "/var/www/myfolder"
我错过了什么?这是在不更改 URL 的情况下重定向到我的静态 IP 地址的正确方法吗?