我有一个类似于这个职位的要求,
Google cloud load balancer port 80, to VM instances serving port 9000
我喜欢其中的一个答案(不是被接受的),但怎么做呢?还是有其他的办法?
“如果您的应用程序是基于HTTP的(类似于它),那么请查看6月份宣布的新的HTTP负载平衡。它可以在端口80处接收传入的流量,并在后端转发到用户指定的端口(例如端口9000)。命令的doc链接如下:
我不想在静态IP和松散跟踪之后创建statis
场景:在端口8080或8043上运行应用程序的Compute引擎(为8080和8443打开防火墙,具有静态IP )
现在我想给它一个域名。
问题
我必须指定类似端口号的http://mywebsite:8080
目标:允许像http://mywebsite一样使用
请问一下云DNS和负载均衡器是如何工作的。我的场景都需要吗?帮我把点连起来。谢谢
注意:应用程序只在8080上工作(不会在80上运行)
发布于 2022-08-07 23:13:05
DNS对端口号一无所知(除了特殊的记录类型)。DNS是一个主机名到IP地址转换服务。
您可以使用代理/负载均衡器到代理端口80到8080,或者配置您的应用程序在端口80上运行。
端口80需要使用许可。对于Linux,这意味着将应用程序配置为以系统权限运行或使用sudo启动应用程序。
大多数在非标准端口上运行的应用程序前面都有一个web服务器,比如Apache或Nginx。web服务器代理端口80至8080,并提供更具弹性的面向Internet的服务。
我不想在静态IP之后创建静态IP而失去跟踪
不幸的是,您需要管理您的服务及其资源。如果部署负载均衡器,则通常可以为计算实例使用私有IP地址。只有负载均衡器需要一个公共IP地址。负载均衡器将代理端口80到8080。
但是,假设您的需求很小,您可以为实例分配一个公共IP地址,安装Apache或Nginx,并在端口8080上运行应用程序。
如今,面向互联网的web服务很少支持HTTPS (端口443)。使用负载均衡器简化了配置TLS和证书管理。您还可以在Apache/Nginx中配置TLS,让我们加密。这就消除了您的应用程序直接支持像端口8443这样的TLS的要求。
发布于 2022-08-09 15:46:32
我找到了这篇文章,它起作用了- https://eladnava.com/binding-nodejs-port-80-using-nginx/
步骤:(sudo apt-get更新)
sudo apt-get install nginx
删除默认
sudo rm /etc/nginx/sites启用/默认
创建新节点文件夹
sudo nano /etc/nginx/站点-可用/节点
<<<<<<将其添加到文件更新域名、应用程序...8080或other>>>>>的端口中。
server {
listen 80;
server_name somedomain.co.uk;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:8080";
}
}创建一个符号链接:
sudo ln -s /etc/nginx/sites可用/node/etc/nginx/sites启用/节点
重新启动nginx
sudo服务nginx重启
归功于原作者- Elad Nava
https://stackoverflow.com/questions/73271547
复制相似问题