在centos7中,关于.net项目部署到nginx,使用域名访问.net项目

1.centos7里面或者window本机创建一个.net项目都行,在appsettings.json中配置(不止这种办法配置)

 

2.在/etc/nginx/conf.d/*.conf里面配置

 3.输入sudo systemctl reload nginx,重新加载nginx的配置文件,然后dotnet run开启.net项目

4.打开浏览器,输入http://(配置的server_name),可以访问到

 其他可能遇到的问题

(1)防火墙拦截

  1. 检查防火墙规则:首先,检查当前防火墙规则以确定哪些规则可能阻止了您的连接。使用以下命令查看当前的防火墙规则:

    sudo firewall-cmd --list-all
  2. 允许特定端口:如果您知道您的连接使用了特定的端口,您可以允许该端口通过防火墙。例如,如果您的连接使用 HTTP(80)端口,可以使用以下命令允许 HTTP 流量通过:

    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

    然后,重新加载防火墙规则以使更改生效:

    sudo firewall-cmd --reload

    这将允许通过指定端口的连接。

  3. 允许特定服务:如果您的连接使用了特定的服务(如 SSH、HTTP、HTTPS 等),您可以直接允许该服务通过防火墙。例如,要允许 HTTP 和 HTTPS 服务,可以使用以下命令:

    sudo firewall-cmd --zone=public --add-service=http --add-service=https --permanent

    然后,重新加载防火墙规则以使更改生效:

    sudo firewall-cmd --reload

    这将允许通过指定服务的连接。

  4. 禁用防火墙:如果您不需要使用防火墙,或者暂时希望禁用防火墙以测试连接,可以使用以下命令禁用防火墙:

    sudo systemctl stop firewalld

    这将停止防火墙服务。请注意,禁用防火墙可能会降低服务器的安全性,请在生产环境中小心使用。

这些操作可以帮助您处理 CentOS 7 防火墙拦截的连接问题。根据您的具体需求和配置,选择适当的方法来允许所需的连接通过防火墙。

(2)selinux策略拦截

  1. 检查SELinux的当前状态:

    ses tatus

    确保SELinux状态为"Enforcing"(强制执行)或"Permissive"(宽松执行)。如果状态为"Disabled"(禁用),则无需进行SELinux策略更改。

  2. 检查Nginx与后端服务器之间的连接是否由SELinux阻止:

    grep nginx /var/log/audit/audit.log | grep denied

    如果输出中显示了由SELinux拒绝的相关条目,表示SELinux阻止了Nginx与后端服务器之间的连接。

  3. 使用audit2allow工具生成自定义SELinux策略模块:

    grep nginx /var/log/audit/audit.log | grep denied | audit2allow -M nginx_connect

    这将读取由SELinux拒绝的条目,并生成一个名为"nginx_connect.pp"的自定义SELinux策略模块。

  4. 安装自定义SELinux策略模块:

    semodule -i nginx_connect.pp

    这将安装生成的自定义SELinux策略模块。

  5. 重新启动Nginx服务:

    systemctl restart nginx

    重新启动Nginx以使新的SELinux策略生效。

这些步骤将允许Nginx与后端服务器之间的连接,并解决由SELinux引起的拒绝访问问题。请注意,这些步骤可能因为您的系统设置而有所不同。确保您在执行之前备份重要的系统文件,并根据您的具体环境进行适当的调整。

(3)DNS没有解析到域名

  1. 登录到 CentOS 服务器,并以 root 或具有管理员权限的用户身份打开终端。

  2. 打开 /etc/hosts 文件以编辑本地主机文件:

    sudo vi /etc/hosts
  3. 在文件中,您会看到类似以下的条目:

    127.0.0.1 localhost ::1 localhost
  4. 在这些条目的下方添加一个新行,指定您想要解析的域名和相应的 IP 地址。例如:

    127.0.0.1 myaspnetcoreapp.com ::1 myaspnetcoreapp.com

    这里假设您的应用程序运行在本地服务器上,因此将域名解析到 127.0.0.1::1(IPv6)。如果应用程序运行在其他服务器上,请将 IP 地址替换为相应的服务器 IP 地址。

  5. 保存并关闭文件。

现在,您的 CentOS 服务器将解析 myaspnetcoreapp.com 到指定的 IP 地址。这样,当您在服务器上访问 http://myaspnetcoreapp.com 时,将会定向到您指定的 IP 地址。

请注意,这种方法是在本地主机文件中进行 DNS 解析的一种简单方式,适用于在开发或测试环境中使用。在生产环境中,您可能需要使用公共 DNS 服务器或者与域名注册商或托管服务提供商合作来配置实际的 DNS 解析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值