上一篇
http访问云服务器配置
- 行业动态
- 2025-05-01
- 2773
配置云服务器HTTP访问需开放80端口,设置安全组规则,部署Web服务(如Nginx/Apache),绑定域名或公网IP,可选配置SSL
前置条件
- 云服务器实例:已购买并获取公网IP地址(如阿里云ECS、酷盾安全CVM等)。
- 操作系统:建议使用Linux发行版(如Ubuntu、CentOS)。
- 域名(可选):如需通过域名访问,需完成域名注册及DNS解析。
安装Web服务器软件
步骤 | 命令(Ubuntu/Debian) | 命令(CentOS/RHEL) | 说明 |
---|---|---|---|
更新软件源 | sudo apt update | sudo yum update | 同步最新软件包列表 |
安装Nginx | sudo apt install nginx | sudo yum install nginx | 安装Nginx Web服务器 |
安装Apache | sudo apt install apache2 | sudo yum install httpd | 安装Apache Web服务器 |
配置防火墙与安全组
服务器本地防火墙
- Ubuntu/CentOS(Firewalld):
sudo firewall-cmd --permanicular-add=80/tcp --save-config sudo firewall-cmd --reload
- 旧版CentOS(iptables):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo service iptables save
云平台安全组
- 登录云控制台(如阿里云、酷盾安全),找到实例对应的安全组,添加以下规则:
| 协议 | 端口范围 | 授权对象 |
|———|———-|—————-|
| TCP | 80 | 0.0.0.0/0 |
配置SELinux/AppArmor(仅限Linux安全模块开启时)
- 临时关闭SELinux(CentOS/RHEL):
sudo setenforce 0
- 永久关闭SELinux:
编辑/etc/selinux/config
,将SELINUX=enforcing
改为SELINUX=disabled
,重启后生效。
配置HTTP服务
Nginx配置示例
- 修改默认配置文件:
sudo nano /etc/nginx/sites-available/default
- 关键配置项:
server { listen 80; server_name your_domain.com; # 替换为你的域名或IP root /var/www/html; # 网站根目录 index index.html; }
- 创建网站目录并设置权限:
sudo mkdir -p /var/www/html sudo chown -R $USER:$USER /var/www/html
- 重启Nginx:
sudo systemctl restart nginx
Apache配置示例
- 修改默认配置文件:
sudo nano /etc/apache2/sites-available/000-default.conf
- 关键配置项:
<VirtualHost :80> ServerAdmin webmaster@your_domain.com DocumentRoot /var/www/html ServerName your_domain.com <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
- 启用模块并重启Apache:
sudo a2enmod rewrite sudo systemctl restart apache2
测试访问
- 通过公网IP访问:在浏览器输入
http://<云服务器公网IP>
,应显示默认页面(如Nginx欢迎页)。 - 通过域名访问:若已绑定域名,输入
http://your_domain.com
。 - 故障排查:
- 检查防火墙/安全组是否开放80端口。
- 查看Web服务器日志:
- Nginx:
/var/log/nginx/error.log
- Apache:
/var/log/apache2/error.log
- Nginx:
相关问题与解答
问题1:配置后无法访问,可能原因有哪些?
解答:
- 防火墙或安全组未开放80端口。
- SELinux/AppArmor拦截请求(需调整策略或临时关闭)。
- Web服务器未启动(
systemctl status nginx
或systemctl status httpd
检查状态)。 - 配置文件错误(语法错误或路径错误)。
问题2:如何将HTTP升级为HTTPS?
解答:
- 安装证书:
- 免费证书:使用Certbot申请Let’s Encrypt证书。
sudo apt install certbot python3-certbot-nginx # Ubuntu sudo certbot --nginx -d your_domain.com
- 自签名证书(仅测试用途):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
- 免费证书:使用Certbot申请Let’s Encrypt证书。
- 配置Web服务器:
- Nginx示例:在
server
块中添加ssl
配置,并监听443端口。 - Apache示例:修改
<VirtualHost>
为:443
- Nginx示例:在