我想使用我的树莓派作为网络服务器。我安装并配置了 apache 并在路由器上启用了端口转发,但似乎我做错了什么。我之前确实查了很多,但找不到合适的答案。
这是我到目前为止所做的:
阿帕奇
端口.conf:
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>
Apache2.conf
我只添加了一行
ServerName public_ip
可用站点/default-ssl.conf
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName public_ip:443
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ServerSignature On
CustomLog /var/log/apache2/access.log combined
LogLevel warn
ErrorLog /var/log/apache2/error.log
</VirtualHost>
我通过激活该网站
sudo a2enmod ssl
sudo a2ensite default-ssl
iptables
iptables -L
给我以下输出:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
网络统计
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 64 192.168.1.12:22 192.168.1.10:30007 ESTABLISHED
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::443 :::* LISTEN
路由器汤姆逊TG782
转发端口
路由器上的防火墙
目前已停用。
结论
http 和 https 在局域网中工作。我缺少什么?
答案1
在 Grochmal 和 Julie Pelletier 的帮助下,它现在可以工作了! (请参阅我的问题的评论部分)
我变了:
端口配置文件
Listen 8080
<IfModule mod_ssl.c>
Listen 8443 https
</IfModule>
可用站点/default-ssl.conf
<VirtualHost *:8443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName server_name_from_hosts_file:8443
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ServerSignature On
CustomLog /var/log/apache2/access.log combined
LogLevel warn
ErrorLog /var/log/apache2/error.log
</VirtualHost>
阿帕奇配置文件
ServerName server_name_from_hosts_file
转发端口
端口 8080 和 8443 的新端口转发规则。
太感谢了!
答案2
不要忘记执行这两个命令。
sudo a2enmod ssl
sudo a2ensite default-ssl
我看到你只做了:
sudo a2ensite default-ssl