我知道如何在 nginx 上设置带域名的 https 服务器。现在我只需要在端口 80 上设置一个服务器,不需要域名,只需要一个 IP 地址,它应该可以在互联网上看到。
我该如何正确执行此操作?请注意,我的内部内置服务器在端口 2222 上运行。目前我有以下内容:
server {
listen 80 default_server;
listen [::]:80 default_server;
access_log /var/log/my_website.log;
error_log /var/log/my_website.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:2222;
proxy_read_timeout 90;
proxy_redirect http://localhost:2222 ?????; # what should be here?
}
}
我应该删除或添加什么吗?
答案1
来自Nginx 文档
A server name may be omitted in the replacement string:
proxy_redirect http://localhost:8000/two/ /;
then the primary server’s name and port, if different from 80, will be inserted.
所以我认为只要使用/
就足够了
答案2
server { listen 80; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:2222; } }