无需端口即可访问网站

无需端口即可访问网站

我的 nginx 监听端口 33333

listen 33333;

在 /etc/nginx/sites-available/ 中我有:

server {
    listen 33333;
    server_name domain.com www.domain.com;

我的网站仅当我运行以下命令时才有效:

www.mydomain.com:33333

如何使其与以下系统良好配合:

www.域名.com

不提供端口。

注意:我的端口 80 被 apache 使用。我无法更改它。

答案1

您可以在端口 80 上设置 nginx,使您的网站在端口 80 上正常工作,然后将 nginx 配置为在其他端口(可能是本地主机上的 33333)上运行的 apache 网站的反向代理。 两个网站都可以通过端口 80 访问。

或者将 apache 设置为 nginx 的反向代理(但我认为第一个解决方案对网站和服务器性能更有利)

有关 nginx 反向代理的一些信息: http://kovyrin.net/2006/04/17/typical-nginx-configurations/ http://kovyrin.net/2006/05/18/nginx-as-reverse-proxy/

您还可以在互联网上找到更多信息...这个主题有非常详尽的文档,您在正确配置一切时不应该遇到问题。

答案2

在这种情况下,您需要将 Apache 配置为反向代理,将请求交给端口 33333 上的 nginx。

答案3

不需要。http 的默认端口是 80。如果使用其他端口,则必须指定。

答案4

如果..这是一个很大的如果,Apache 托管的站点与您使用 NginX 托管的站点具有不同的域名,那么可以使用 Apache 作为 VirtualHost 反向代理(proxypass 等)来实现这一点。

否则,您将需要另一台服务器或路由器来执行一些端口转换或代理。

相关内容