centos7 如何开启 443 端口,试了好多教程都没有用

2017-03-19 09:38:20 +08:00
 kmdd33

总共参考了 3 篇教程 https://segmentfault.com/a/1190000006736884 http://stackoverflow.com/questions/24729024/centos-7-open-firewall-port http://www.jb51.net/article/95212.htm 结果还是不行啊 输入 netstat -tanp 显示有 3306 80 还有自己设置的 ssh 端口,死活看不见 443 端口。怎么办?没有 443 端口,我现在配置的 cloudflare 打开域名,前面会默认显示 https 但是就是一个圈里面一个感叹号,没有启用,怎么办?各位伙伴们?如何开启 443 端口?

25861 次点击
所在节点    问与答
21 条回复
xiaoz
2017-03-19 09:39:43 +08:00
老哥,你没有监听 443 端口吧。
yuhuan66666
2017-03-19 09:39:47 +08:00
搜 firewall 吧
dynaguy
2017-03-19 09:42:23 +08:00
mod_ssl 裝載了嗎?
chanssl
2017-03-19 10:14:17 +08:00
centos 7 内置的防火墙是 firewalld ,用第二个链接的方法即可。如果你想改用 iptables ,就按第一个链接,先关闭 firewalld ,再安装启用 iptables ,开放端口
mringg
2017-03-19 10:15:23 +08:00
我感觉老哥是根本没起程序
xiaoz
2017-03-19 10:24:45 +08:00
netstat -apn|grep '443' 如果没有,说明压根没监听,放行了也没用。
xiaoz
2017-03-19 10:25:05 +08:00
@mringg 我也觉得
sundong
2017-03-19 10:55:02 +08:00
1.安装
http://www.nginx.cn/doc/optional/ssl.html
2.申请 SSL 证书
falcon05
2017-03-19 11:55:00 +08:00
得先在 web Server 打开
artandlol
2017-03-19 12:48:30 +08:00
先 nc -l 443 & 再 nc 地址 443
检测下内外网是否都开了
digimoon
2017-03-19 12:57:04 +08:00
以前装的 minimal 版 centos7 ,不知道自带有 firewalld ,搞了半天才发现这东西然后禁用了用回 iptables
him007
2017-03-19 15:21:27 +08:00
> 怎么办?没有 443 端口,我现在配置的 cloudflare 打开域名,前面会默认显示 https 但是就是一个圈里面一个感叹号,没有启用,怎么办?

按 f12 看看,可能引用了 http 资源吧
Quaintjade
2017-03-19 15:56:46 +08:00
如果 netstat 没有的话,应该是没监听
yum install mod_ssl
systemctl restart httpd

至于防火墙,常见应用直接添加服务即可,都预设好的。
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

由于开在默认端口上,所以无须配置 SELinux ,否则还得添加一下端口。
xiejc
2017-03-19 16:55:47 +08:00
nginx + certbot 有域名,刚装好
singer
2017-03-19 17:30:40 +08:00
防火墙拦住了吧
612
2017-03-19 19:53:40 +08:00
首先在 webserver 配置文件里面 listen 443 ,然后启动服务,只要服务不报错,起来了, netstat -tunlp | grep 443 ,应该是没问题的。外网要访问的话,还得在防火墙 iptables 或者 firewall-cmd 里面把端口放开。
kmdd33
2017-03-19 20:37:30 +08:00
@612,@singer,@xiejc@Quaintjade @Quaintjade @artandlol @chanssl @digimoon @dynaguy
@falcon05 @him007 @kmdd33 @mringg @singer @xiejc @Quaintjade @sundong @xiaoz
自己的 nginx.conf 里面没有监听 403 ,现在启用 403 端口,但是输入域名还是没有绿色的小锁,导致的情况是用户在输入服务器 ip 的情况下可以正常登陆,但是输入域名的情况下无法注册和登录
kmdd33
2017-03-19 20:42:58 +08:00
浏览器 console 里面有一个错误: Mixed Content: The page at 'https://www.mydomain.com/?/ac...' was loaded over HTTPS, but requested an insecure script 'http://ajax.cloudflare.com/cd...'. This request has been blocked; the content must be served over HTTPS.说明了错误是“ Mixed Content ”,https 的内容与 http 的内容混在一起,这种请求不被允许。我想把不安全的脚本请求 http://ajax.cloudflare.com/cdn-cgi/nexp/dok3v=f2befc48d1/cloudflare.min.js 改成安全的 https://ajax.cloudflare.com/cdn-cgi/nexp/dok3v=f2befc48d1/cloudflare.min.js 但是问题来了:我没有在源程序 js 文件里面写入这个 js 也没有引用<link>,为什么会请求 cloudflare 服务器的这个 js 文件呢?我应该如何做,才能改正?
sundong
2017-03-19 20:52:29 +08:00
LZ 8 楼链接 看了没 ? 麻烦参考文档之后再回复
hoyixi
2017-03-19 21:04:36 +08:00
netstat -tnl
如果木有 443 ,说明,你的服务器根本没有监听 443

如果用的 nginx ,一般 common 的全局配置才放 nginx.conf
站点配置一般放置 /etc/nginx/sites-available/ 下,比如 yoursite.conf,
在 yoursite.conf 里,类比你的 80 http server 配置块,添一个 https 的 server 块,类似下面的样子:
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl on;

server_name www.yoursite.com;

root /var/www/yoursite/public_html;
index index.php index.html index.htm;

ssl_certificate /etc/nginx/ssl/yoursite.crt;
ssl_certificate_key /etc/nginx/ssl/yoursite.key;
...
}

然后做个软连接
sudo ln -s /etc/nginx/sites-available/yoursite.conf /etc/nginx/sites-enabled/yoursite.conf

重启 nginx , netstat -tnl 查看是否已监听 443

另外,如果你没买 HTTPS 证书,用的是自签名证书或者 cloudflare 的,貌似你是看不到小绿锁的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348566

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX