用例:
我如何配置nginx以便人们只使用名称进行访问,而无需指定端口。
答案 0 :(得分:1)
这是一个相当正常的设置。正常配置直接在Nginx上提供服务的主机。由于他们需要同时监听80和443,因此每个主机条目都会包含此内容:
server {
listen 80;
listen 443 ssl;
}
Nginx SSL docs包含完整的详细信息。
然后将一个server{}
定义的流量代理到后端服务:
server {
server_name example.com;
location / { proxy_pass http://127.0.0.1:8090; }
}
您只需要一个代理连接到后端服务器,“http”或“https”。如果两台服务器之间的连接是安全的,您可以“http”,即使是通过https到达nginx的连接也是如此。如果服务在同一台机器上,这可能是合适的。否则,如果需要保护nginx和后端服务器之间的连接,则可以通过https代理所有流量。
答案 1 :(得分:0)
我们在主持人中使用以下内容:
http {
server {
server_name ~^(www\.)?(?<domain>.+)$;
listen *:80;
location / {
proxy_pass $scheme://<origin>$uri$is_args$args;
include basic-proxy-settings.conf;
}
}
server {
server_name ~^(www\.)?(?<domain>.+)$;
listen *:443 ssl;
location / {
proxy_pass $scheme://<origin>$uri$is_args$args;
include basic-proxy-settings.conf;
}
include ssl-settings.conf;
}
}
这允许我们的上游代理在客户端针对不安全资源发出请求时通过HTTP与我们的源服务器通信,并在针对安全请求发出请求时通过SSL / HTTPS进行通信。它还允许我们的原始服务器负责强制重定向到安全连接等。
下一次,为什么不提供一个代码示例,详细说明您尝试过的内容,哪些内容有效以及哪些内容没有?