Apache 无法访问端口 80 的服务器

Apache 无法访问端口 80 的服务器

我在 Ubuntu 16.04 上运行着 apache 服务器,除了 80 端口之外其他端口都可以正常工作,我已转发了 80 端口,并尝试使用以下方式访问我的服务器

https://mysite.ddns.net/index.html并且页面无法加载。

如果我将端口改为 8085 并转发,然后尝试使用 URL,

`https://mysite.ddns.net:8085/index.html` 

然后它就可以工作了,只有端口 80 有问题。

这是配置文件

端口配置文件

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf


Listen 8075
Listen 80
Listen 443

<IfModule ssl_module>
    Listen 80
</IfModule>

<IfModule mod_gnutls.c>
    Listen 80
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet    

默认 SSL 配置文件

<IfModule mod_ssl.c>
        <VirtualHost _default_:80>
                ServerAdmin [email protected]


                DocumentRoot /var/www
                ServerName mysite.ddns.net


                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key


                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

                BrowserMatch "MSIE [2-6]" \
                               nokeepalive ssl-unclean-shutdown \
                               downgrade-1.0 force-response-1.0

        

        </VirtualHost>


</IfModule>

我已经使用该命令在 iptable 中允许该端口。

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

仍然不起作用。可能是什么原因?

答案1

您正在尝试连接到https://mysite.ddns.net。https 使用端口 443。如果您已在端口 80 上配置 https,则必须使用https://mysite.ddns.net:80

我建议使用带有端口 443 的 https。我将在端口 80 上为 http 配置第二个 vhost,它会将所有流量重定向到 https。

相关内容